我正在开发一个 WPF 项目,我的目的是让两个特定的 RadioButtons 更改另一个指定组件的属性。但是现在,我只是想在 RadioButton 中存储一个字符串。
为此,我创建了一个行为类:
public class AdjustBehavior : Behavior<RadioButton>
{
有了这个属性:
public static DependencyProperty AdjustLabelContentProperty =
DependencyProperty.RegisterAttached("LabelContent", typeof(String), typeof(AdjustBehavior),
new FrameworkPropertyMetadata(null,
FrameworkPropertyMetadataOptions.Inherits));
这些 getter 和 setter:
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 都会设置为 null。为什么?
我没有发布我的行为课程的其余部分,因为我认为这无关紧要,但如果有必要我会这样做。
提前致谢。
克拉克