WPF ToolBar: как удалить власть и переполнение

#!/bin/bash

function progress_bar() {
    bar=""
    total=10
    [[ -z $1 ]] && input=0 || input=${1}
    x="##"
   for i in `seq 1 10`; do
        if [ $i -le $input ] ;then
            bar=$bar$x
        else
            bar="$bar  "
       fi
    done
    #pct=$((200*$input/$total % 2 + 100*$input/$total))
    pct=$(($input*10))
    echo -ne "Progress : [ ${bar} ] (${pct}%) \r"    
    sleep 1
    if [ $input -eq 10 ] ;then
        echo -ne '\n'
    fi

}

может создать функцию, которая рисует это в масштабе, скажем, 1-10 для количества баров:

progress_bar 1
echo "doing something ..."
progress_bar 2
echo "doing something ..."
progress_bar 3
echo "doing something ..."
progress_bar 8
echo "doing something ..."
progress_bar 10
94
задан Tom 26 June 2009 в 19:53
поделиться

2 ответа

Захват можно удалить, установив присоединенное свойство ToolBarTray.IsLocked = "True" на панели инструментов.

Чтобы удалить Overflow ToggleButton ], вам придется удалить его в настраиваемом ControlTemplate, как предполагает шестизначная переменная, что, если у вас есть blend или вы можете загрузить предварительный просмотр Blend 3, не слишком сложно.

Вы также можете просто скрыть кнопку в загруженном событии ToolBar, хотя какой бы маршрут вы ни выбрали, вы также должны установить прикрепленное свойство ToolBar.OverflowMode = "Never" в меню ToolBar, поэтому что элементы не могут случайно переполниться в недоступную область.

<ToolBarPanel DockPanel.Dock="Top">
    <ToolBar ToolBarTray.IsLocked="True" Loaded="ToolBar_Loaded">
        <Menu ToolBar.OverflowMode="Never">
            <MenuItem Header="File" />
            <MenuItem Header="New" />
        </Menu>
    </ToolBar>
</ToolBarPanel>

И установите переключатель Overflow ToggleButton в свернутое положение:

private void ToolBar_Loaded(object sender, RoutedEventArgs e)
{
    ToolBar toolBar = sender as ToolBar;
    var overflowGrid = toolBar.Template.FindName("OverflowGrid", toolBar) as FrameworkElement;
    if (overflowGrid != null)
    {
        overflowGrid.Visibility = Visibility.Collapsed;
    }
    var mainPanelBorder = toolBar.Template.FindName("MainPanelBorder", toolBar) as FrameworkElement;
    if (mainPanelBorder != null)
    {
        mainPanelBorder.Margin = new Thickness();
    }
}
148
ответ дан 24 November 2019 в 06:07
поделиться

Вы можете использовать Blend, чтобы просто переопределить ControlTemplate для ToolBarPanel, Menu или ToolBar.

  1. Щелкните правой кнопкой мыши на панели инструментов и выберите Edit Template
  2. В меню «Редактировать шаблон» выберите «Редактировать копию»
  3. . Я рекомендую добавить копию в словарь ресурсов.
  4. Нажмите «ОК»

. Теперь вы будете редактировать шаблон элемента управления для ToolBarPanel и можете установить видимость «Свернуто» для сигнал захвата и переполнения. Вы можете промыть и повторить для других элементов управления. Это займет немного времени, но с Blend не так уж и сложно.

8
ответ дан 24 November 2019 в 06:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: