В Silverlight 2 ....
В моем коде xaml есть RadioButton следующим образом:
<RadioButton GroupName="Gender" Content="Male" IsChecked="{Binding Path=Gender, ConverterParameter=1, Mode=TwoWay, Converter={StaticResource RadioStringConverter}}" Width="49" HorizontalAlignment="Left"/>
Это прекрасно работает. Моя проблема заключается в попытке динамически дублировать эту функциональность.
RadioButton rb = new RadioButton() {GroupName = "Gender", Content = "Male" ,Width = (double)49,HorizontalAlignment = System.Windows.HorizontalAlignment.Left};
это работает, но когда я пытаюсь вставить конвертер, он ломается. Как правильно это сделать? Есть хорошие рабочие примеры?
Вот что я пытался ....
RadioButton rb = new RadioButton() {GroupName = "Gender", Content = "Male" ,Width = (double)49,HorizontalAlignment = System.Windows.HorizontalAlignment.Left};
RadioStringConverter rsc = new RadioStringConverter();
Binding binding = new Binding(layout.FieldName) { Source = mainLayout.DataContext, Mode = BindingMode.TwoWay,ConverterParameter = 1,Converter = rsc}; // to emulate the "{StaticResource RadioStringConverter}"};
rb.SetBinding(RadioButton.IsCheckedProperty, binding);
sp.Children.Add(rb);
Хотя это хорошо компилируется, он работает неправильно.
1) Как я могу ссылаться на статический ресурс динамически?
2) Как добавить этот статический ресурс в XAML динамически? Прямо сейчас у меня есть эта ссылка в жестком коде.
Я делаю это сложнее, чем нужно?