Я работаю над проектом WPF, и мое намерение состоит в том, чтобы заставить два конкретных RadioButtons изменить свойства другого указанного Компонента. Но сейчас я просто пытаюсь сохранить строку в RadioButton.
Для этого я создал класс поведения:
public class AdjustBehavior : Behavior<RadioButton>
{
С этим свойством:
public static DependencyProperty AdjustLabelContentProperty =
DependencyProperty.RegisterAttached("LabelContent", typeof(String), typeof(AdjustBehavior),
new FrameworkPropertyMetadata(null,
FrameworkPropertyMetadataOptions.Inherits));
А вот эти геттеры и сеттеры:
public static String GetLabelContent(RadioButton tb)
{
return (String)tb.GetValue(AdjustLabelContentProperty);
}
public static void SetLabelContent(RadioButton tb, String value)
{
tb.SetValue(AdjustLabelContentProperty, value);
}
На стороне XAML я сделал это:
<RadioButton Content="Banana" Height="16" HorizontalAlignment="Left" Margin="30,216,0,0" Name="radioButton1" VerticalAlignment="Top" GroupName="a" IsThreeState="False" IsChecked="True" Checked="radioButton1_Checked" >
<int:Interaction.Behaviors>
<i:AdjustBehavior LabelContent="Apple" />
</int:Interaction.Behaviors>
</RadioButton>
Где int: пространство имен для Interaction.Behaviors, а i: пространство имен для класса AdjustBehavior. Но всякий раз, когда я запускаю свое приложение, LabelContent устанавливается в нуль. Почему?
Я не опубликовал оставшуюся часть своего класса Поведения, потому что я думаю, что это не будет иметь значения, но я сделаю это в случае необходимости.
Заранее спасибо.
Clark