2015-04-07 60 views
0

我想更改RadioButton的BorderThickness。這可能嗎?
這是我到目前爲止有:是否可以設計RadioButton的BorderThickness?

<Style TargetType="RadioButton"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="RadioButton"> 
        <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> 
         <VisualStateManager.VisualStateGroups> 
          <VisualStateGroup x:Name="CommonStates"> 
           <VisualState x:Name="Normal"> 
            <Storyboard> 
             <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="Border"> 
              <DiscreteObjectKeyFrame KeyTime="0" Value="6" /> 
             </ObjectAnimationUsingKeyFrames> 
            </Storyboard> 
           </VisualState> 
          </VisualStateGroup> 
          <!-- ... -->   
         </VisualStateManager.VisualStateGroups>    
        </Border>     
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

我讀這post但不知何故,它不適合我的工作,因爲:

名稱「ThicknessAnimation」沒有命名空間中存在「 http://schemas.microsoft.com/client/2007

任何想法?

回答

1

要回答你的問題:是的,可以設置RadioButton控件的BorderThickness。 在什麼情況下你想改變BorderThickness? 爲了有一個特定的按鈕顯示較厚的邊境僅設置屬性相應:

<RadioButton x:Name="MyNiceFoobarButton" BorderThickness="6"/> 

如果你希望所有的單選按鈕有一個較厚的邊框,你必須使用一個Style

<Style TargetType="RadioButton"> 
    <Setter Property="BorderThickness" Value="6"/> 
</Style> 

[編輯] 如果你想讓你的按鈕僅在特定的VisualState處於活動狀態時顯示較粗的邊框,則必須覆蓋ControlTemplate並指定所有VisualStates及其對應的動畫。

相關問題