0
我有以下DataGrid
:DataGrid行datatrigger /模板
<DataGrid ItemsSource="{Binding Coll.View}" SelectedItem="{Binding SelectedTransaction}"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Visible"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Date" Binding="{Binding Date}" Width="100" />
<DataGridTextColumn Header="Category" Binding="{Binding Path=SelectedCategory.CategoryName}" Width="100" />
<DataGridTextColumn Header="Payee" Binding="{Binding Path=SelectedPayee.PayeeName}" Width="100" />
<DataGridTextColumn Header="Withdrawal" Width="100" />
<DataGridTextColumn Header="Deposit" Width="100" />
<DataGridTextColumn Header="Total" Binding="{Binding AccountBalance}" Width="100" />
</DataGrid.Columns>
交易是TransactionViewModel
項目的ObservableCollection
。
這些項目有這個屬性,這是一個枚舉,可以是:存款,提款。
private TransactionTypes tType;
public TransactionTypes TransactionType
{
get { return tType; }
set
{
tType = value;
OnPropertyChanged("TransactionType");
}
}
這一個:
public double? TransactionAmmount
{
get { return ammount; }
set
{
ammount = value;
OnPropertyChanged("TransactionAmmount");
}
}
是否有可能基於TRANSACTIONTYPE的價值TransactionAmmount綁定?如果TransactionType爲Deposit,則將TransactionAmmount綁定到Deposit datagrid列。
如果TransactionType爲撤銷,則將TransactionAmmount綁定到撤銷列。
最後在viewmodel中做了邏輯,但我會試一試你的代碼,可能有用。 – Cristian
我正在使用這兩種策略。有時候,viewmodel方法更方便。但有時候這只是一個純粹的造型問題,然後我喜歡把它放在視圖的xaml中。祝你好運。 –