Использование разделителя в StatusBar - PullRequest
7 голосов
/ 27 января 2012

У меня есть окно WPF с элементом управления StatusBar.Ниже xaml для моей строки состояния.Я пытаюсь разместить разделитель между StatusBarItems.Но что происходит, когда все разделители располагаются сразу после первого StatusBarItem.

Как я могу расположить разделители после каждого элемента в StatusBar?Я не использую ItemsPanelTemplate, чтобы разделители работали правильно.Как получить правильное расположение разделителей в приведенном ниже xaml?

        <StatusBar Grid.Row="2" Height="23" Name="myStatusBar" VerticalAlignment="Bottom" >
        <StatusBar.ItemsPanel>
            <ItemsPanelTemplate>
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="100"/>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="100"/>
                        <ColumnDefinition Width="100"/>
                        <ColumnDefinition Width="100"/>
                    </Grid.ColumnDefinitions>
                </Grid>
            </ItemsPanelTemplate>
        </StatusBar.ItemsPanel>
        <StatusBarItem Grid.Column="0">
            <StackPanel Orientation="Horizontal">
                <Image Source="..\Images\bullet_green.png" Height="15" Width="15" />
                <TextBlock Name="txtStatus" Height="18" Width="77" Text="{Binding StatusBarStatus}"/>
            </StackPanel>
        </StatusBarItem>
<Separator Width="1"/>
        <StatusBarItem Grid.Column="1">
            <StackPanel Orientation="Horizontal">
                <Image Source="..\Images\user_add.png" Height="15" Width="15" />
                <TextBlock Name="txtCurrentContact" Text="{Binding StatusBarCurrentContact}" />
            </StackPanel>
        </StatusBarItem>
<Separator Width="1"/>
        <StatusBarItem Grid.Column="2">
            <!--<ProgressBar Value="30" Width="80" Height="18"/>-->
            <StackPanel Orientation="Horizontal">
                <Image Source="..\Images\database03.png" Height="15" Width="15" />
                <TextBlock Name="txtDatabase" Text="{Binding StatusBarDatabase}" />
            </StackPanel>
        </StatusBarItem>
<Separator Width="1"/>
        <StatusBarItem Grid.Column="3">
            <TextBlock Name="txtMode" Text="{Binding StatusBarMode}"/>
        </StatusBarItem>

        <StatusBarItem Grid.Column="4">
            <TextBlock Name="txtTally" Text="{Binding StatusBarTally}"/>
        </StatusBarItem>
    </StatusBar>

1 Ответ

10 голосов
/ 27 января 2012

Все ваши разделители находятся в столбце 0. Поместите их в столбец, например:

 <StatusBarItem Grid.Column="0">
        <StackPanel Orientation="Horizontal">
            <Image Source="..\Images\bullet_green.png" Height="15" Width="15" />
            <TextBlock Name="txtStatus" Height="18" Width="77" Text="{Binding StatusBarStatus}"/>
        </StackPanel>
    </StatusBarItem>
    <Separator Width="1" Grid.ColumnSpan="2" Grid.Column="0" HorizontalAlignment="Center"/>
    <StatusBarItem Grid.Column="1">
        <StackPanel Orientation="Horizontal">
            <Image Source="..\Images\user_add.png" Height="15" Width="15" />
            <TextBlock Name="txtCurrentContact" Text="{Binding StatusBarCurrentContact}" />
        </StackPanel>
    </StatusBarItem>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...