繁体   English   中英

访问数据模板中元素的属性

[英]Accessing Properties of elements in a Data Template

如何从c#中访问以下XAML代码中的Textblock(txtlink)属性? 引用txtlink。 不起作用,它会导致错误

txtlink名称在当前上下文中不存在

        <Grid Grid.Row="1">
        <ListBox  ItemsSource="{Binding CurrentRss.Channel.NewsItems}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="80"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>

                        <Button Style="{StaticResource ImageButtonStyle}" Click="Button_Click" >
                            <Image Source="{Binding Image}"/>
                        </Button>
                        <TextBlock Grid.Column="1" Text="{Binding Title}"/>

                        <TextBlock x:Name="txtlink"  Text="{Binding Link}" Background="Black" Foreground="#FFD1DA0B"/>

                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>

使用SelectedItem绑定,那么您将有权访问所选项目。 从那里您可以访问Link属性。
xaml:

<ListBox  ItemsSource="{Binding CurrentRss.Channel.NewsItems}" SelectedItem="{Binding SelectedNewsItem}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="80"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <Button Style="{StaticResource ImageButtonStyle}" Click="Button_Click" >
                        <Image Source="{Binding Image}"/>
                    </Button>
                    <TextBlock Grid.Column="1" Text="{Binding Title}"/>

                    <TextBlock x:Name="txtlink"  Text="{Binding Link}" Background="Black" Foreground="#FFD1DA0B"/>

                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>  

并在您的ViewModel中:

public NewsItem SelectedNewsItem {get;set;}//INPC when it is being set check for null and then process the selected item.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM