私は現在、XAMLの使い方と、C#とのやり取りの仕組みを研究しています。私の現在の課題は、チェックボックスがチェックされたときに表示されるテキストを変更するテキストブロックを取得しようとしていることです。これには、プログラムがBool入力を受け取り(ボックスにチェックが入っていますか?)、文字列出力が必要です。バインディング時データ型間でどのように変換しますか?
現在、レイアウトを実行すると、XAMLコードは問題ないと思われますが、チェックボックスがオンになっているかどうかにかかわらず、テキストブロックには "unticked"状態が表示されます。
問題は2つの方法の間にあると思われますが、解決策や提案は見つけられませんか?
問題のコード:問題のC#
public class MainPageViewModel : ViewModelBase
{
//stores value of checkbox
private bool _BoxCheckBool;
//Updates value of _BoxCheckBool
public bool BoxCheckBool
{
set
{
Set(ref _BoxCheckBool, value);
}
}
//stores value (for textblock)
private string _BoxCheckString;
public string BoxCheckString
{
//logic that determines what will be sent to the textblock
get
{
if (_BoxCheckBool == true)
{
_BoxCheckString = "The Box has been checked";
}
else if (_BoxCheckBool == false)
{
_BoxCheckString = "The Box has not been checked";
}
else
{
_BoxCheckString = "ERROR";
}
return _BoxCheckString;
}
set
{
Set(ref _BoxCheckString, value);
}
}
}
コード:XAML
<CheckBox x:Name="BoxTest" HorizontalAlignment="Center" Content="Check Box" IsChecked="{Binding BoxCheckBool, Mode=TwoWay}"/>
<TextBlock x:Name="BoxTestOutput" Grid.Row="1" Text="{Binding BoxCheckString, Mode=TwoWay}"/>
、それは非常に参考にされている、あなたのアドバイスをみんなに感謝します。 :) – TheSkeletonDetective