1
我有以下情形:更改屬性不會影響實際的對象
<Setter Property="ItemsSource">
<Setter.Value>
<MultiBinding Converter="{StaticResource itemsSourceConv}" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
<Binding Path="DataSource" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=UserControl}"></Binding>
<Binding Path="DataSet" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay"></Binding>
</MultiBinding>
</Setter.Value>
</Setter>
我有被綁定到某些數據的控制依賴項屬性。 在控件的XAML中,我有這個代碼,它必須從DependancyProperty中獲取數據並將其傳遞給控件的視圖模型。
我已經確定使用Multi Binding可以更容易地完成它。
問題是在我執行轉換器後控制ViewModel內的DataSet屬性沒有設置。
這裏的MultiBinding轉換器看起來像
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var dataFromWindow = values[0] as List<object>;
var controlViewModel = values[1];
controlViewModel = dataFromWindow ; //After execution this object is changed but the object that values[1] references in the viewmodel isn't changed.
return dataFromWindow;
}
不MultiBinding創建我通過它,而不是與引用它的工作對象的副本?
編輯:
由轉換器內部直接分配DataContext.DataSet解決。
工作,謝謝:)) – Hristo