1
グリッドにユーザー定義の値を追加する必要がある小さなアプリケーションを開発しています。問題は、それらが細かい追加(私はデバッガでチェックした)、グリッドに正しく表示されないということです。Silverlight 4のDataGridに行を追加する
スクリーンショット:
。ここで
はコードです:
XAML:ページのコンストラクタで
public ObservableCollection<DefaultValue> defaultValues;
//Class:
public class DefaultValue
{
public string DefVal;
public DefaultValue(string val)
{
this.DefVal = val;
}
}
初期化:ItemSourceコレクションとコンテナクラスの
<sdk:DataGrid x:Name="defaultValueDataGrid" AutoGenerateColumns="False" Height="150" Margin="0,0,10,0">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="valColumn" Binding="{Binding DefVal, Mode=OneWay}" IsReadOnly="True" Header="SomeHeader" Width="*" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
定義:右、空想
private void AddNewDefaultValueBtn_Click(object sender, RoutedEventArgs e)
{
if (!string.IsNullOrEmpty(this.newDefaultValueTxtBx.Text))
{
this.defaultValues.Add(new DefaultValue(this.newDefaultValueTxtBx.Text));
this.defaultValueDataGrid.ItemsSource = this.defaultValues;
}
}
ナッシング:値を追加します
this.defaultValues = new ObservableCollection<DefaultValue>();
this.defaultValueDataGrid.ItemsSource = this.defaultValues;
そして最後に機能?そうだけど、それはうまくいかず、私はヒントと助けに感謝します。 Ps。私はthisチュートリアルを使用しました。
それは性質上で動作し、あなたがアイテムをリセットする必要はありませんメンバ変数では動作しませんバインディング
public string DefVal {get;set;}
へ
おかげで、変更されます。リセッティングは、異なるアプローチを試みることから残っているものです。歓声メイト – neurotix