2016-04-28 56 views
1

我有以下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

回答

3

只需使用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