0

gridviewcolumsのデータバインディングを使用してデータをリストビューに入れるための記事をいくつか見つけましたが、リストから行が選択されたときにこのデータを取得する必要があります。これは、リストに入力して「試行」する必要があるコードですデータを取得します。私が見つけた限りでは、このデータをリストビューに入れる非常に異なる方法を用意してください。私の問題は、このように XAML でフォーマットされたデータを取得する正しい方法がわからないことだと思います。

private void Button_Click_1(object sender, RoutedEventArgs e)
{ // This is When a button is clicked to populate the List
    Operate op = new Operate();
    List<object> users = op.GetUser();
    if (users != null)
    {
        ResultsView.Items.Clear();
        foreach (UserPrincipal user in users)
        {
            ResultsView.Items.Add(new {Col1 = user.GivenName, Col2 = user.Surname, Col3 = user.SamAccountName});
        }
    }
}
private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ // This is When a line is selected and should get the info from the line
    if (ResultsView.SelectedItem != null)
    {
        string sel = ResultsView.SelectedItem.Col1;
    }
}

そして、これはリストの XAML です

<ListView
    x:Name="ResultsView"
    Margin="5,5,5,5"
    SelectionMode="Single"
    SelectionChanged="ListView_SelectionChanged">
    <ListView.View>
        <GridView>
            <GridViewColumn Width="100" Header="H1" DisplayMemberBinding="{Binding Col1}"/>
            <GridViewColumn Width="100" Header="H2" DisplayMemberBinding="{Binding Col2}"/>
            <GridViewColumn Width="100" Header="H3" DisplayMemberBinding="{Binding Col3}"/>
        </GridView>
    </ListView.View>
</ListView>

数日前にこれを始めたばかりで、奇妙なフォーマットやエラーについては非常に申し訳ありません. これは、リストが入力されたときのリストの写真です。期待どおりに見えます。

4

1 に答える 1