1

グリッドビューを使用した単純なリストビューがあり、特定の列の値を取得しようとしています。

マイ XAML

<ListView SelectionMode="Single" Margin="10,10,0,0" x:Name="activos" Height="211" VerticalAlignment="Top" HorizontalAlignment="Left" Width="555" SizeChanged="activos_SizeChanged" SelectionChanged="activos_SelectionChanged" IsSynchronizedWithCurrentItem="True">
    <ListView.Resources>
        <ResourceDictionary>
            <Style x:Key="hiddenStyle" TargetType="GridViewColumnHeader">
                <Setter Property="Visibility" Value="Collapsed"/>
            </Style>
            <Style TargetType="{x:Type CheckBox}" x:Key="DataGridCheckBox">
                <Setter Property="HorizontalAlignment" Value="Center" /> <Setter Property="HorizontalContentAlignment" Value="Center" /> <Setter Property="IsEnabled" Value="False" /> <Setter Property="Margin" Value="11 3" /> <Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="VerticalContentAlignment" Value="Center" /> <Setter Property="Width" Value="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type GridViewColumn}},Path=ActualWidth}" />
            </Style>
        </ResourceDictionary>
    </ListView.Resources>
    <ListView.View>
        <GridView x:Name="act_">
            <GridViewColumn Header="Code" Width="0" DisplayMemberBinding="{Binding coddiag}" HeaderContainerStyle="{StaticResource hiddenStyle}" />
            <GridViewColumn Header="Diagnóstico" Width="400" DisplayMemberBinding="{Binding diag}" />
            <GridViewColumn Header="Princip." Width="50">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <CheckBox Style="{StaticResource DataGridCheckBox}" IsChecked="{Binding princi}" Focusable="False" IsHitTestVisible="False" Name="Complete" IsThreeState="False" BorderBrush="Black" Foreground="Black"></CheckBox>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Fecha" Width="{x:Static System:Double.NaN}" DisplayMemberBinding="{Binding fecha, StringFormat='dd/MM/yyyy'}" />
        </GridView>
    </ListView.View>
</ListView>

基本的に私がやろうとしているのは、選択した行を変更してその値を保存するたびに、GridViewColumn コード値にアクセスすることです。

Grid[Row,Column] のような簡単なものだと思っていましたが、いくつかの調査の後、他の方法を利用する必要があるようです...

4

1 に答える 1

1

ビュー モデルのプロパティに ListView.SelectedItem バインディングを追加できます。ビューモデルは、その時点からの変更の選択を追跡します。したがって、選択したアイテムが変更されると、このプロパティで新しい値が取得されます。したがって、ビュー モデルのコードで選択した項目の任意のプロパティ (列の値) にアクセスできます。

于 2013-07-17T10:34:42.050 に答える