WPF根据内容设置标签背景图像

问题描述:

我有以下Xaml代码,并且我有标签触发器。我想要一个触发器,将一个图像置于背景中以获取某些内容值。我如何做这个触发器?WPF根据内容设置标签背景图像

<Window.Resources> 
    <DataTemplate x:Key="DataTemplate_Level2"> 
     <Label Content="{Binding }" Width="70" Height="70" HorizontalContentAlignment="Center" x:Name="Background"> 
     </Label> 
     <DataTemplate.Triggers> 
      <DataTrigger Binding="{Binding}" Value="1"> 
       <Setter TargetName="Background" Property="Background" Value="Black"/> 
      </DataTrigger> 
      <DataTrigger Binding="{Binding}" Value="5"> 
       <Setter TargetName="Background" Property="Background" Value="Image"/> 
      </DataTrigger> 
      <DataTrigger Binding="{Binding }" Value="9"> 
       <Setter TargetName="Background" Property="Background" Value="Green"/> 
      </DataTrigger> 
      <DataTrigger Binding="{Binding}" Value="7"> 
       <Setter TargetName="Background" Property="Background" Value="blue"/> 
      </DataTrigger> 
     </DataTemplate.Triggers> 
    </DataTemplate> 
    <DataTemplate x:Key="DataTemplate_Level1"> 
     <ItemsControl ItemsSource="{Binding}" ItemTemplate="{DynamicResource DataTemplate_Level2}"> 
      <ItemsControl.ItemsPanel> 
       <ItemsPanelTemplate> 
        <StackPanel Orientation="Horizontal"/> 
       </ItemsPanelTemplate> 
      </ItemsControl.ItemsPanel> 
     </ItemsControl> 
    </DataTemplate> 
</Window.Resources> 
+0

是否要将'Image'的'Image'设置为'Label'的'Background'? – StepUp

+0

是的,但只有当标签具有一定的数值​​时,如同它需要像触发器一样 – user2955610

只需使用ImageBrush作为背景。

首先在资源中添加笔刷。 实施例:

<Window.Resources> 
    <ImageBrush x:Key="MyImageBrush" 
       ImageSource="C:\Test.png" /> 
</Window.Resources> 

然后,只需使用的StaticResource将其设置在特定触发。

<DataTemplate x:Key="DataTemplate_Level2"> 
     <Label Content="{Binding }" 
       Width="70" 
       Height="70" 
       HorizontalContentAlignment="Center" 
       x:Name="Background"> 
     </Label> 
     <DataTemplate.Triggers> 
      <DataTrigger Binding="{Binding}" 
         Value="7"> 
       <Setter TargetName="Background" 
         Property="Background" 
         Value="{StaticResource MyImageBrush}" /> 
      </DataTrigger> 
     </DataTemplate.Triggers> 
    </DataTemplate> 
+0

谢谢!完善! – user2955610