私は WPF プロジェクトに取り組んでいます。私の意図は、2 つの特定の RadioButtons が別の指定されたコンポーネントのプロパティを変更することです。しかし今のところ、RadioButton 内に String を格納しようとしています。
そのために、動作クラスを作成しました。
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 が null に設定されます。なんで?
Behavior クラスの残りの部分は投稿しませんでした。それは問題ではないと思うからですが、必要に応じて投稿します。
前もって感謝します。
クラーク