样式树视图布局(MVVM)



我有一个TreeView,我绑定了一个ObservableCollection,其中TreeView继承了TreeViewItem。

我想样式的树视图的头有一个图像在每个头的前面。我将标题设置为ItemContainerStyle,但它没有改变其布局。但它适用于ContextMenu

<TreeView.ItemContainerStyle>
     <Style TargetType="{x:Type TreeViewItem}">
          <Setter Property="ToolTip" Value="{Binding ID, Mode=TwoWay}"/> 
          <Setter Property="Header">
               <Setter.Value>
                    <StackPanel Orientation="Horizontal">
                         <Image Source="Images/Icons/Plus-48.png" Height="10" Width="10" />
                         <TextBlock Text="{Binding MachinePartName}" Margin="0,0,4,0" />
                    </StackPanel>
               </Setter.Value>
          </Setter>
          <Setter Property="ContextMenu">    
               <Setter.Value>
                     <ContextMenu>
                         <MenuItem Header="Add" Command="{Binding AddMachinePart_Command}"/>
                     </ContextMenu>
               </Setter.Value>
           </Setter>
     </Style>
</TreeView.ItemContainerStyle>

您需要使用HeaderTemplate代替:

<Setter Property="Header"
                Value="{Binding }" />
        <Setter Property="HeaderTemplate">
            <Setter.Value>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Image Source="Images/Icons/Plus-48.png"
                               Height="10"
                               Width="10" />
                        <TextBlock Text="{Binding MachinePartName}"
                                   Margin="0,0,4,0" />
                    </StackPanel>
                </DataTemplate>
            </Setter.Value>
        </Setter>

别忘了绑定Header属性

相关内容

  • 没有找到相关文章

最新更新