1

wpfで生成されたリストビューがあります

ここを参照してください:

<ListView x:Name="lstVCOM" Height="450" Margin="10,10,10,0" VerticalAlignment="Top">
            <ListView.View>
                <GridView>
                    <GridViewColumn Width="25" Header="Slot" DisplayMemberBinding="{Binding Path=Slot}" />
                    <GridViewColumn Width="140" Header="Messung" DisplayMemberBinding="{Binding Path=MessungNr}" />
                    <GridViewColumn Width="140" Header="Minimal" DisplayMemberBinding="{Binding Path=Min}"/>
                    <GridViewColumn Width="140" Header="Maximal" DisplayMemberBinding="{Binding Path=Max}"/>
                    <GridViewColumn Width="140" Header="Aktuelle Messung" DisplayMemberBinding="{Binding Path=MessungAkt}"/>
                    <GridViewColumn Width="140" Header="Durchschnitt" DisplayMemberBinding="{Binding Path=Durschnitt}"/>
                </GridView>
            </ListView.View>
        </ListView>

たとえば、ステップバイステップで塗りつぶしたいのですが、最初にスロット列を塗りつぶし、次にメッセージ列を塗りつぶしてから.....すべて行1にしてから、次の行に移動して同じことを行います。

どうやってやるの ?

lstVCOM.item.add ?

どうも

4

1 に答える 1

0

行を表すがある場合object、私はそれを と名付けました。次に、 のコレクションを表すVCOMを作成できます。List<T>VCOM

public class VCOM {
    public int Slot { get; set; }
    public string MessungNr { get; set; }
    public decimal Min { get; set; }
    public decimal Max { get; set; }
    public string MessungAkt { get; set; }
    public decimal Durschnitt { get; set; }
}

private List<VCOM> _ListVCOM = new List<VCOM>();
public List<VCOM> ListVCOM {
    get {
    return _ListVCOM;
    }
    set {
    _ListVCOM = value;
    OnPropertyChanged("ListVCOM");
    }
}

に新しいオブジェクトをINotifyPropertyChanged追加したときに DataGrid が更新されるように実装します。VCOMList<VCOM>

ListVCOM.Add(new VCOM() {
    Slot = 1,
    MessungNr = "Messung",
    Min = 0.0M,
    Max = 1.0M,
    MessungAkt = "Aktuelle Messung",
    Durschnitt = 0.5M,
});

個々のプロパティを手動で設定するには、オブジェクトを取得し、プロパティの知識に基づいて他のプロパティを設定できますSlot(一意であると仮定します)。

int currentSlotNum = 1;
ListVCOM.Where(a => a.Slot.Equals(currentSlotNum)).First().Min = 1.0M;

次に、新しいVCOMオブジェクトを追加する場合は、上記を呼び出すだけAdd Methodで、新しい行で更新されます。

    <ListView x:Name="lstVCOM" Height="450" Margin="10,10,10,0" VerticalAlignment="Top" DockPanel.Dock="Top" 
              ItemsSource="{Binding ListVCOM, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
        <ListView.View>
            <GridView>
                <GridViewColumn Width="25" Header="Slot" DisplayMemberBinding="{Binding Path=Slot}" />
                <GridViewColumn Width="140" Header="Messung" DisplayMemberBinding="{Binding Path=MessungNr}" />
                <GridViewColumn Width="140" Header="Minimal" DisplayMemberBinding="{Binding Path=Min}"/>
                <GridViewColumn Width="140" Header="Maximal" DisplayMemberBinding="{Binding Path=Max}"/>
                <GridViewColumn Width="140" Header="Aktuelle Messung" DisplayMemberBinding="{Binding Path=MessungAkt}"/>
                <GridViewColumn Width="140" Header="Durchschnitt" DisplayMemberBinding="{Binding Path=Durschnitt}"/>
            </GridView>
        </ListView.View>
    </ListView>

これは、DataGrid適切なItemsSourceバインディングを備えた です。

于 2013-04-30T12:49:13.703 に答える