获取ListView C#的ItemTemplate中的值

时间:2016-02-13 13:15:25

标签: c# wpf xaml listview itemtemplate

 <ListView Name="myList" Background="Transparent" Margin="15,88,15,15">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                <Grid Height="100">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="200"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>

                    <StackPanel Grid.Column="0" Margin="5">
                        <TextBlock Name="xName" Text="{Binding Name}" FontSize="30" Margin="10,0,5,0" FontWeight="Medium"/>
                        <TextBlock Name="xNo" Text="{Binding No}" FontSize="25" Margin="10,0,5,0" TextTrimming="CharacterEllipsis"/>
                    </StackPanel>

                        <Grid Grid.Column="1" Margin="5">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="1*"/>
                                <ColumnDefinition Width="1*"/>
                            </Grid.ColumnDefinitions>
                            <RadioButton Grid.Column="0" Name="r1" Content="1" Width="10" Margin="5,15,-2,5"/>
                            <RadioButton Grid.Column="1" Name="r2" Content="2" Width="10" Margin="5,15,-2,5"/>
                        </Grid>
                    </Grid>
                   </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

现在我想检索ListView中的每个项目,即其中的控件。 TextBlocks内容并知道选择了哪个RadioButton。 我尝试过像这样的课程

    public class Att
    {
        public string Name;
        public string No;
        public RadioButton r1;
        public RadioButton r2;
    }

ListView中的TextBoxes内容有不同的来源。他们来自不同的班级。我尝试使用上面的类Att来检索项目。 但它显示了一些类型转换错误。请有人帮帮我!我是初学者。 谢谢你的到来。

1 个答案:

答案 0 :(得分:0)

感谢所有支持!

好吧,我尝试自己这样做,最后我明白了。我真正想要的是知道检查哪个RadioButton。我尝试使用类Att来检索ListView中的项目。我对Att类进行了修改,并添加了bool类型的属性r1和r2而不是RadioButton,并将此属性绑定到XAML中RadioButton的IsChecked属性,并且绑定模式为TwoWay。因此,在XAML中完成的更改可以反映在项目的源列表中。