2012-11-03 26 views

回答

0

爲什麼不將IsEnabled設置爲第三個RadioButton的「未檢查」狀態?通常一組單選按鈕是唯一的,一次只能檢查一個。

<StackPanel> 
    <StackPanel.Resources> 
     <convert:InvertBooleanConverter x:Key="InvertConverter" /> 
    </StackPanel.Resources> 
    <TextBox IsEnabled="{Binding IsChecked, ElementName=radio, Converter={StaticResource InvertConverter}}" /> 
    <RadioButton x:Name="radio" IsChecked="True"/> 
</StackPanel> 

使用自定義轉換器

using System; 
using System.Globalization; 
using System.Windows; 
using System.Windows.Data; 

namespace MyApplication.Converters { 
    public sealed class InvertBooleanConverter : IValueConverter { 
     public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { 
      return !(bool)value; 
     } 

     public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { 
      return DependencyProperty.UnsetValue; 
     } 
    } 
} 
+0

@Profrofo:僅僅因爲你喜歡用一個空格而不是四個縮進並不意味着它是「改進的格式化」。而「固定代碼」通常意味着你實際上改變了代碼中的某些東西,而你卻沒有這樣做。 – Patrick

+0

對不起。對我而言,「固定代碼」意味着代碼縮進或語言已更改。就你而言,我發現你發佈的第一個代碼代表了一個XML代碼。所以,我只是將它的語言從C#改爲XML。請原諒我,我試圖改善你的帖子。您可以在查看我的更改時始終拒絕對我的帖子所做的修改。再次抱歉。祝你有美好的一天:) –

+0

@ProfrofoEGY:我沒有真正看到你添加了語言標籤,直到現在(它沒有出現在修訂歷史記錄中,只在我現在點擊的「建議」鏈接中)。如果他們被推斷,我通常不會添加它們,這是在這種情況下。而我自己並沒有接受這種改變,顯然還有三位其他人爲我「做了這個」。 – Patrick

相關問題