-1
我試圖從一個標籤綁定的TextColor
上ViewCell
:用的IValueConverter綁定不起作用
Label myLabel = new Label { Text = "SomeText" };
myLabel.SetBinding(Label.TextColorProperty,
new Binding("TheTextColor", BindingMode.TwoWay, new LabelTextColorConverter()));
這裏的轉換器:
public class LabelTextColorConverter : IValueConverter
{
public bool OldValue { get; set; }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
OldValue = (bool) value;
Debug.WriteLine("asdadasdsadsada");
if ((bool)value)
return Color.Red;
else
return Color.Silver;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Debug.WriteLine("qwqweqewqeeqe");
return OldValue;
}
}
調試輸出不會出現,顏色也不會改變。我沒有看到任何錯誤。
如果沒有[良好,_minimal_,_complete_代碼示例](https://stackoverflow.com/help/mcve),就不可能說出什麼問題。我會說,從你的代碼示例看來,你綁定了一個實際上不在你的UI中的「Label」實例(即,你在運行中創建它並且不會將它附加到任何地方),並且你綁定了錯誤屬性路徑(應該是「TextColor」,而不是「TheTextColor」)。 –
這是代碼的簡短版本。我不會發送到這裏,我有另一個UI的代碼和viewModel的其他屬性工作正常,如TextProperty。 來自Label的文本是黑色的,所以對轉換器和轉換器的條件不起作用。 以上這個綁定我有: 'myLabel.SetBinding(Label.TextProperty,「TheNames」);' 它工作正常... –
請閱讀我提供的鏈接,以瞭解「good,_minimal_,_complete_ code示例「,以及有關爲什麼需要此類代碼示例的信息。請閱讀https://stackoverflow.com/help/how-to-ask以獲取更多關於如何以清晰,可回答的方式展示您的問題的信息。 –