Я создал класс Person, который выглядит следующим образом:
public class Person
{
public enum GenderType
{
Female,
Male
}
public string Name
{
get; set;
}
public GenderType? Gender
{
get; set;
}
}
Затем я создал шаблон данных, который будет представлять объекты типа Person.
Здесь код XAML:
<DataTemplate
x:Key="personTemplate"
DataType="{x:Type model:Person}">
<StackPanel>
<RadioButton
Content="Female"
IsChecked="{Binding Path=Gender,
Converter={StaticResource genderConverter},
ConverterParameter=???}"/>
<RadioButton
Content="Male"
IsChecked="{Binding Path=Gender,
Converter={StaticResource genderConverter},
ConverterParameter=???}"/>
<RadioButton
Content="Not specified"
IsChecked="{Binding Path=Gender,
Converter={StaticResource genderConverter},
ConverterParameter=???}"/>
</StackPanel>
</DataTemplate>
Конечно, ??? в коде не будет работать:) Проблема в том, что я хочу создать преобразователь genderConverter, который будет сравнивать данное значение, т.е. personObject.Gender, против данного значения Person.GenderType заданный в параметре и возвращающий true, если значения совпадают.
Я не знаю, как сделать параметр преобразователя pass Person.GenderType.Female, Person.GenderType.Male и null для первого, второго и третьего переключателей соответственно.