我有一个单选按钮组:数据绑定单选按钮组属性
<TextBlock Height="24" Text="Update Interval (min):"/>
<RadioButton x:Name="radioButtonTimerNone" IsChecked="{Binding UpdateInterval, Converter={StaticResource updateIntervalToCheckedConverter}, Mode=TwoWay}"} Content="None" />
<RadioButton x:Name="radioButtonTimerOne" IsChecked="{Binding UpdateInterval, Converter={StaticResource updateIntervalToCheckedConverter}, Mode=TwoWay}"
Content="1" />
<RadioButton x:Name="radioButtonTimerFive" IsChecked="{Binding UpdateInterval, Converter={StaticResource updateIntervalToCheckedConverter}, Mode=TwoWay}"
Content="5" />
和属性:
public int UpdateInterval {
get { return _updateInterval; }
set { _updateInterval = value;
onPropertyChanged("UpdateInterval");
}
}
如何将单选按钮绑定到属性,所以radioButtonTimerNone检查时UpdateInterval为0 ,当UpdateInterval是1时检查radioButtonTimerOne等。
我试图创建一个转换器,但它不能识别正在设置哪个rb:
[ValueConversion(typeof(RadioButton), typeof(bool))]
class UpdateIntervalToCheckedConverter : System.Windows.Data.IValueConverter
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
我预计'价值'是一个单选按钮,但它似乎是UpdateInterval的值。
感谢您的任何提示...
谢谢,我已经得到它使用您的建议工作。虽然看起来不是很干净,但必须通过本质上是我想要绑定到属性的控制ID。 – Number8 2009-09-13 23:12:15
是的,我不知道是否有一个“更清洁”的解决方案。我并不是一般价值转换者的忠实粉丝,但是如果你必须使用一个,那么ConverterParameter可以让你的生活变得更轻松! – 2009-09-13 23:35:51
这是我选择的解决方案。虽然它不是很干净,但我一般都比Anderson在ViewModel上有很多属性的解决方案更好。但是,我想这是因为我不太喜欢让我的ViewModel迎合视图,因此我可以支持结构化蒙皮。 – dustyburwell 2009-09-14 05:05:39