2016-04-26 83 views
0

我有我的風格已經如何避免用戶更改單選按鈕狀態?

<UserControl.Resources> 
     <Style x:Key="RadioButton" TargetType="{x:Type RadioButton}"> 
      <Style.Triggers> 
       <Trigger Property="IsChecked" Value="true"> 
        <Setter Property = "Background" Value="Green"/> 
       </Trigger> 
       <Trigger Property="IsChecked" Value="false"> 
        <Setter Property = "Background" Value="Red"/> 
       </Trigger> 
      </Style.Triggers> 
     </Style>   
    </UserControl.Resources> 

<RadioButton Style="{StaticResource RadioButton}" Content="Server configured" Margin="10,10,10,10" IsChecked="{Binding serverStatus, Mode=OneWay}" Grid.Row="1" Grid.Column="1" /> 

它可以很好地但問題是,它僅用於顯示用戶不應該能夠改變一個單選按鈕。如果我將它設置爲IsEnabled="False",我將忽略我的格式,並且看不到單選按鈕是否被選中。我也嘗試使用複選框,它並沒有幫助它變成灰色,我禁用它。

我想我可以使用圖像來顯示它,但造型單選按鈕接縫更優雅。

問題:你如何設計一個禁用的單選按鈕?

回答

2

您可以在您的RadioButton上設置Focusable="False"IsHitTestVisible="False"。那麼用戶將無法與之交互。

<RadioButton Focusable="False" IsHitTestVisible="False" Style="{StaticResource RadioButton}" Content="Server configured" Margin="10,10,10,10" IsChecked="{Binding serverStatus, Mode=OneWay}" Grid.Row="1" Grid.Column="1" /> 
+0

你先生太棒了!非常感謝你,這正是我在這麼簡單之後所做的。 – DaImTo