は、現在、私のモデルは、我々の目的のために、ここで私はAnnualizedRate1
、AnnualizedRate2
、...、AnnualizedRate10
10のプロパティRate1
経由ビューモデルにビューに明らかにされ、Rate2
と呼ぶことにします10の特性を有しています。 ..、Rate10
。私の意見の1つは、これらの値をDataGrid
に示しています。これは非常に反復的であり、変化する要件に適応する痛みです。次のよりも良い方法が必要です。WPF繰り返し質問(MVVM)
public decimal Rate1 { get { return myModel.AnnualizedRate1; } }
public decimal Rate2 { get { return myModel.AnnualizedRate2; } }
...
public decimal Rate10 { get { return myModel.AnnualizedRate10; } }
ビュー(MyView
):
モデル(MyModel
):MyModel.AnnualizedRate
は
public decimal AnnualizedRate(int i);
ビューモデル(MyViewModel
)である
public decimal AnnualizedRate1 { get { return this.AnnualizedRate(1); } }
public decimal AnnualizedRate2 { get { return this.AnnualizedRate(2); } }
...
public decimal AnnualizedRate10 { get { return this.AnnualizedRate(10); } }
xmlns:dg="http://schemas.microsoft.com/wpf/2008/toolkit"
...
<dg:DataGrid>
<dg:DataGrid.Columns>
<dg:DataGridTextColumn
Header="Rate1"
Binding="{Binding Rate1, StringFormat=P}"
IsReadOnly="True"/>
<dg:DataGridTextColumn
Header="Rate2"
Binding="{Binding Rate2, StringFormat=P}"
IsReadOnly="True"/>
...
<dg:DataGridTextColumn
Header="Rate10"
Binding="{Binding Rate10, StringFormat=P}"
IsReadOnly="True"/>
</dg:DataGrid.Columns>
</dg:DataGrid>
誰にでもアイデアはありますか?
正確に何が反復的であるか - これらの10のプロパティごとに個別に列を定義してバインドする必要がありますか?それはあなたが取り除きたいものですか? –
彼はRate1からRate10まで同じxamlを繰り返しコピーして貼り付け、そのインデックス番号を変更する必要があると言っています。 DataGrid.ColumnsプロパティにあるDataGridTextColumnのすべてであると判断して、10列のグリッドを持っていると仮定し、列のコードをより簡潔にする方法と同じです。 –
@Anderson Imes:あなたは問題と目標を正しく理解しています。 – jason