私は、カスタムテキストボックスにテキストを作成するxamlの色を決定するC#コードの目的で初めてバインドしようとしています。データトリガーとバインドが機能しません
私のC#コード:
だから、public class Limits
{
public static bool fruitLimits(string textboxDec, ComboBox boxVariable)
{
if (string.IsNullorWhiteSpace(textboxDec)
{return false;}
else if (boxVariable.SelectedIndex == 1)
{
try
{ int apples = Convert.ToInt32(textboxDex);
if (apples < 4 && apples != 0)
{return false;}
else if(apples > 50)
{return false;}
else
return true;
}
catch (FormatException fEx)
{return false;}
}
else
{
try
{ int oranges = Convert.ToInt32(textboxDec);
if (oranges < 1 && oranges != 0)
{
return false;}
else if (oranges > 100)
{return false;}
else
return true;
}
catch (FormatException fEx2)
{return false;}
}
}
このメソッドがtrueを返したときに、今、私はXAMLにこの方法をバインドしたいので、ボックス内のテキストは、それがfalseを返したときに、テキストは赤、黒です。
<local:DigitBox x:Name="FruitNumber">
<local:DigitBox.Style>
<Style TargetType="local:DigitBox">
<Style.Triggers>
<DataTrigger
Binding="{Binding Limits.fruitLimits}" Value="False">
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</local:DigitBox.Style>
</local:DigitBox>
エラーは見つかりませんが、カスタムテキストボックスの色は変わりません。私は自分の色の変更を直接私のC#の方法で設定しようとしたが動作します。しかし、私はxamlの視覚的な変化を維持している私が読んできたことを維持しようとしています。これはバインドする必要がありますが、私は明らかに重要でないものを見落としている/理解していません
は、時にはそれはそれを使用しようとしている*前*技術の本質についての本や記事を読むために便利です。 WPFデータバインディングについては、MSDNの[データバインディングの概要](https://msdn.microsoft.com/en-us/library/ms752347(v = vs.110).aspx)の記事を読むことをお勧めします理解。 – Clemens