Ну короткий ответ на ваш вопрос вы этого не делаете. То, что вы должны сделать, это связать RadioButton.IsChecked
с некоторым bool
свойства вашего вида модели. Вы можете достичь что-то вроде индекса группы пути связывания int
свойства вашей модели с помощью вашей реализации IValueConverter
:
вида Модели недвижимости:
private int _groupIndex = 1;
public int GroupIndex
{
get { return _groupIndex; }
set
{
if (_groupIndex == value) return;
_groupIndex = value;
OnPropertyChanged("GroupIndex");
}
}
Преобразователь:
public class IndexBooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null || parameter == null)
return false;
else
return (int)value == System.Convert.ToInt32(parameter);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null || parameter == null)
return null;
else if ((bool)value)
return System.Convert.ToInt32(parameter);
else
return DependencyProperty.UnsetValue;
}
}
, а затем вам привязать его например:
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<local:IndexBooleanConverter x:Key="IndexBooleanConverter"/>
</StackPanel.Resources>
<RadioButton Content="Option1" IsChecked="{Binding Path=GroupIndex, Converter={StaticResource IndexBooleanConverter}, ConverterParameter=1}"/>
<RadioButton Content="Option2" IsChecked="{Binding Path=GroupIndex, Converter={StaticResource IndexBooleanConverter}, ConverterParameter=2}"/>
<RadioButton Content="Option3" IsChecked="{Binding Path=GroupIndex, Converter={StaticResource IndexBooleanConverter}, ConverterParameter=3}"/>
</StackPanel>
В этом случае ваше свойство модели просмотра GroupIndex
будет иметь значения 1, 2 или 3 в зависимости от того, что отмечено RadioButton
Что вы пытаетесь достичь? Я не могу представить вариант использования, где вам это нужно. – WiiMaxx