我想填充一列作爲組合框的數據網格,但我需要當綁定到組合框的集合爲空時列變爲文本框列。我已經定義瞭如下列:根據源更改列樣式
Binding binding = new Binding(「DataContext.Prices」); binding.RelativeSource = new RelativeSource(RelativeSurceMode.FindAncestor,typeof(UserControl),1);
DataGridComboBoxColumn productPrices = new DataGridComboBoxColumn()
{
ElementSyle = new Style
{
TargetType = typeof(ComboBox),
Setters =
{
new Setter
{
Property=ComboBox.ItemsSourceProperty,
Value= binding
}
}
},
EditingElementSyle = new Style
{
TargetType = typeof(ComboBox),
Setters =
{
new Setter
{
Property=ComboBox.ItemsSourceProperty,
Value= binding
}
}
},
DisplayMemberPath = new Binding("Price");
SelectedValuePath = new Bindnt("Price");
};
myDataGrid.Columns.Add(productPrices);
myDataGrid.Columns.Add(new DataGridTextColumn(){ Header="Name", Binding=new Binding("Name")});
我定義myDataGrid:
<DataGrid Name="myDataGrid" ItemsSource="{Binding Products}" />
在我的視圖模型我創建了一個
var products = new List<Product>
{
new Product
{
Name="Prod 1",
Price="12.5"
}
}
var prices = new List<PriceL>
{
new PriceL
{
Price="12.5"
},
new PriceL
{
Price="10"
}
}
ICollectionView Products = CollectionViewSource.GetDefaultView(products);
ICollectionView Prices = CollectionViewSource.GetDefaultView(prices);
我需要的是,當「價格」是空列成爲一個文本框,我的工作與MVVM和我嘗試與elementStyle,但我不能看到Combobox中的任何事件,讓我驗證它的數據源。任何機構能幫助我嗎?
好的,謝謝我要去搜索它。但是你知道與Visual Studio合作的任何信息來源嗎?我不在混合 – Nandhi
下載試用版並使其運行。它只會將代碼添加到Xaml中,而不會讓您無法購買該產品。但是(恕我直言)真正成爲一名熟悉Blend的Xaml開發人員不會損害您的職業生涯,如果您發現它是一種使用工具,請讓管理層購買它。 – OmegaMan