2014-01-21 65 views
0

目前我正在改變切換按鈕IsChecked特權上的容器的內容(如圖像)。 所以我認爲ContentControl將是一個容器的不錯選擇。但我無法弄清楚如何實現結果。如何更改ContentControl的切換按鈕上的內容IsChecked Proprrty

我windows.resource創建的圖像資源

<Image Source="Resources/Desert.jpg" x:Key="image1"/> 
    <Image Source="Resources/Koala.jpg" x:Key="image2"/> 
    <Image Source="Resources/Lighthouse.jpg" x:Key="image3"/> 
    <Image Source="Resources/Chrysanthemum.jpg" x:Key="image4"/> 

所以我想用上面的資源,通過改變控件模板proprty更改ContentControl中的內容屬性使用觸發器SourceName爲(ToggleButton)和TargetName爲(ContentControl),但它不工作

那麼如何更改ContentControl的內容在toggleButton Ischeck屬性上。

編輯

<ContentControl BorderBrush="Black" Name="cc"> 
     <ControlTemplate> 
      <ControlTemplate.Triggers> 
       <Trigger SourceName="ToggleButton" Property="IsChecked" Value="True"> 
        <Setter TargetName="cc" Property="Content" Value="{StaticResource image1}"/> 
       </Trigger> 
      </ControlTemplate.Triggers> 
     </ControlTemplate> 
     </ContentControl> 

我只是想,因爲我不知道該怎麼辦呢.....

任何幫助,歡迎

+0

證明*不*工作,而不是代碼*爲*工作的代碼。 –

+0

@AntonTykhyy編輯帖子。 但朋友我沒有想法繼續。 –

+1

好的,現在告訴我們*當你運行這個程序時會發生什麼(它是否可以編譯?),以及你期望發生什麼。 '不起作用'沒有提供信息。 –

回答

1

你似乎有過無需複雜的情況。您可以使用Image控件而不是ContentControl。要在兩個Image S之間交替,你可以簡單地用DataTrigger做到這一點:

<Image Source="Resources/Desert.jpg" x:Key="image1"/> 
<StackPanel> 
    <ToggleButton Name="Button" Content="Change Image" Margin="10" /> 
    <Image Margin="10,0,10,10"> 
     <Image.Style> 
      <Style> 
       <Setter Property="Image.Source" 
Value="/YourAppName;component/Resources/Desert.jpg" /> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding IsChecked, ElementName=Button}" 
Value="True"> 
         <Setter Property="Image.Source" 
Value="/YourAppName;component/Images/Resources/Koala.jpg" /> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
     </Image.Style> 
    </Image> 
</StackPanel>