<TreeView Background="Transparent" BorderThickness="0" ItemsSource="{Binding Objs}"
ScrollViewer.VerticalScrollBarVisibility="Hidden" Margin="0,0,0,0" Grid.Row="1">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Header}" Margin="1,0,0,0" FontSize="12">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding IsFire}" Value="True">
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsFire}" Value="False">
<Setter Property="Foreground" Value="Black "/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<Button Grid.Column="1" Width="30" Height="20" Margin="5 0 0 0" FontSize="8" Visibility="{Binding FireVisible}" Cursor="Hand"
Command="{Binding ElementName=win,Path=DataContext.ChangeFireStateCommand}" CommandParameter="{Binding Id}">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding IsFire}" Value="True">
<Setter Property="Background" Value="Red"/>
<Setter Property="Content" Value="R"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsFire}" Value="False">
<Setter Property="Background" Value="Green"/>
<Setter Property="Content" Value="S"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<!--FIRE专用 后续可以有其它的数据源 来展示不同的数据-->
<ItemsControl ItemsSource="{Binding FiretState}" Margin="15 0 0 0" Grid.Row="1" Grid.ColumnSpan="2">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
//这里可以定义不同的行 列来展示不同的形式数据
</Grid>
<TextBlock Text="{Binding ShowFire}" Foreground="White" Width="10" Height="10" FontSize="8" TextAlignment="Center" VerticalAlignment="Center" Margin="0 0 2 0">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding ShowStatus}" Value="R">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding ShowStatus}" Value="S">
<Setter Property="Background" Value="Yellow"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
wfp+treeview Style
最新推荐文章于 2023-09-29 18:06:57 发布
这段代码展示了如何在WPF中使用TreeView进行数据绑定,通过HierarchicalDataTemplate显示层次结构数据。同时,利用DataTrigger改变TextBlock和Button的前景色、背景色及内容,以及控制元素的可见性,实现了基于数据状态的UI动态更新。
3万+

被折叠的 条评论
为什么被折叠?



