2011-01-14 60 views
1

我很新的WPF和我面臨的,我需要幫助的一個問題:幫助試圖在dictionnary使用切換按鈕

我的環境是.NET 4,VS2010,贏得7

我想定義一個我將從用戶控件中使用的樣式化切換按鈕。當我在UserControl中聲明ToggleButton控件時,我想根據按鈕狀態給出2個可能的內容。

我的問題:我不知道如何用2個內容聲明我的按鈕(當IsChecked = true時一個,當IsChecked = false時一個),我已經包含了一些我編寫的代碼,不編譯。

預先感謝您

...

+0

謝謝你的回答,它真的幫了我。 – 2011-01-18 08:18:36

回答

1

您應該能夠使用類似:

 <ToggleButton> 
     <ToggleButton.Style> 
      <Style TargetType="{x:Type ToggleButton}"> 
       <Setter Property="Content"> 
        <Setter.Value> 
         <Grid> 
          <TextBlock>Click Me</TextBlock> 
         </Grid> 
        </Setter.Value> 
       </Setter> 
       <Style.Triggers> 
        <Trigger Property="IsChecked" Value="True"> 
         <Setter Property="Content"> 
          <Setter.Value> 
           <Grid> 
            <TextBlock>Click Me Again</TextBlock> 
           </Grid> 
          </Setter.Value> 
         </Setter> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
     </ToggleButton.Style> 
    </ToggleButton> 
1

根據您的2項內容是什麼,你可以這樣做:

<ToggleButton IsChecked="True"> 
    <ToggleButton.Style> 
     <Style TargetType="{x:Type ToggleButton}"> 
      <Style.Triggers> 
       <Trigger Property="IsChecked" Value="True"> 
        <Setter Property="Template"> 
         <Setter.Value> 
          <ControlTemplate> 
           <Button></Button> 
          </ControlTemplate> 
         </Setter.Value> 
        </Setter> 
       </Trigger> 
       <Trigger Property="IsChecked" Value="False"> 
        <Setter Property="Template"> 
         <Setter.Value> 
          <ControlTemplate> 
           <Border Background="Red" /> 
          </ControlTemplate> 
         </Setter.Value> 
        </Setter> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </ToggleButton.Style> 
</ToggleButton> 

在這個例子中的切換按鈕當它被選中時(一個按鈕)和其他內容(沒有被選中時)有一個內容(一個紅色的背景邊框)。您將不得不處理單獨切換IsChecked狀態的操作。

另外一件事,如果ToggleButton是您的UserControl中唯一的控件,則不需要使用UserControl,只需重新設置ToggleButton即可。當您想要將控件分組在一起以實現特定功能時(比如搜索文本框和Go按鈕一起用作搜索控件),UserControl更加適用。