我有一個ListBox,將整個綁定對象傳遞給轉換器(需要),並且對象似乎沒有正確更新。下面是相關的XAML將整個對象與轉換器綁定爲文本
<TextBlock
Text="{Binding Converter={StaticResource DueConverter}}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneDisabledBrush}" />
和轉換器
public class DueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null) return null;
Task task = (Task)value;
if (task.HasReminders)
{
return task.Due.Date.ToShortDateString() + " " + task.Due.ToShortTimeString();
}
else
{
return task.Due.Date.ToShortDateString();
}
}
//Called with two-way data binding as value is pulled out of control and put back into the property
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
最後到期日期時間從數據模型。
private DateTime _due;
[Column(CanBeNull=false)]
public DateTime Due
{
get { return _due; }
set
{
if (_due != value)
{
NotifyPropertyChanging("Due");
_due = value;
NotifyPropertyChanged("Due");
}
}
}
的NotifyPropertyChanging /更改工作,因爲結合於不同性質的其他控件正確地更新。
我的目標是每當Due被更改時都有更新的TextBlock更新,但輸出的格式依賴於Task對象的另一個屬性。
有什麼想法?
一般來說,SO協議不會在標題中加標籤。我更新了標題並重新標記了問題。 –
謝謝你這樣做。 – upopple