首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绑定StackPanel

绑定StackPanel
EN

Stack Overflow用户
提问于 2012-01-21 04:03:44
回答 2查看 1.1K关注 0票数 0

我的目标是让整个顶级StackPanel (或其他一些元素)使用返回的Url数据中的XML值打开一个网站。我想知道实现这一目标的最好方法是什么?

下面是我的XAML代码示例:

代码语言:javascript
复制
<DataTemplate>
    <StackPanel> //bind Url here somehow
        <Image Source="{Binding Thumbnail}"></Image>
        <StackPanel>
            <TextBlock Text="{Binding Title}" TextWrapping="Wrap"/>
            <StackPanel>
                <TextBlock Text="{Binding Duration}"></TextBlock>
                <TextBlock Text="{Binding Stats}"></TextBlock>
            </StackPanel>
        </StackPanel>
    </StackPanel>
</DataTemplate>

下面是我后面的代码返回的值的一个示例:

代码语言:javascript
复制
    public class XmlData
    {
        public string Id { get; set; }
        public string Title { get; set; }
        public string Url { get; set; }
        public string Thumbnail { get; set; }
        public string Stats { get; set; }
        public double Duration { get; set; }
    }

感谢代码示例。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-21 04:53:59

Xaml:

代码语言:javascript
复制
<DataTemplate>
<StackPanel MouseLeftButtonDown="StackPanelMouseLeftButtonDown" Tag="{Binding Url}">
        <Image Source="{Binding Thumbnail}"></Image>
        <StackPanel>
            <TextBlock Text="{Binding Title}" TextWrapping="Wrap"/>
            <StackPanel>
                <TextBlock Text="{Binding Duration}"></TextBlock>
                <TextBlock Text="{Binding Stats}"></TextBlock>
            </StackPanel>
        </StackPanel>
    </StackPanel>
</DataTemplate>

代码隐藏:

代码语言:javascript
复制
private void StackPanelMouseLeftButtonDown(object sender, MouseButtonEventArgs e) {
    var realSender = (StackPanel)sender;
    WebBrowserTask wbt = new WebBrowserTask();
    wbt.URL = (string)realSender.Tag;
    wbt.Show(); 
}
票数 1
EN

Stack Overflow用户

发布于 2012-01-21 04:22:10

stackpanel本身不能打开URL,为此你需要一个WebBrowser控件。

代码语言:javascript
复制
<DataTemplate>
    <StackPanel>
        <WebBrowser Source="{Binding Url}" />
        <Image Source="{Binding Thumbnail}"></Image>
        <StackPanel>
            <TextBlock Text="{Binding Title}" TextWrapping="Wrap"/>
            <StackPanel>
                <TextBlock Text="{Binding Duration}"></TextBlock>
                <TextBlock Text="{Binding Stats}"></TextBlock>
            </StackPanel>
        </StackPanel>
    </StackPanel>
</DataTemplate>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8947202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档