与 ListPicker 的数据绑定问题

发布于 2024-10-06 13:29:29 字数 1355 浏览 2 评论 0原文

我正在尝试将 linq xml 中的数据绑定到独立存储中。数据模板(ItemTemplate 和 FullModeItemTemplate)工作正常,仅显示 xml 文档中元素或属性中保存的值。

            <toolkit:ListPicker.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding BindName}" Margin="0"/>
                </DataTemplate>
            </toolkit:ListPicker.ItemTemplate>
            <toolkit:ListPicker.FullModeItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Margin="16,21,0,20">
                        <TextBlock Text="{Binding BindName}" Margin="16,0,0,0" FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}"/>
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.FullModeItemTemplate>

但是,尽管在列表选择器上选择时它似乎使用此名称,但列表选择器保存的实际值是:

appname.pagename + namestringusedwhensetting

字符串的名称来自我假设的设置位置。我正在使用这个方法:

    public class BindingSetter
    {
        string sValue;

        public string SValueN
        {
            get { return sValue; }
            set { sValue = value; }
        }
    }

所以它正在返回:

appname.pagename + sValue

我在整个应用程序中使用了绑定,并且之前没有遇到过这个问题,所以我有点困惑。

提前致谢。

I am trying to bind the data from linq xml in isolated storage. The data templates (ItemTemplate and FullModeItemTemplate) work fine and only show the value saved in the element or attribute in the xml document.

            <toolkit:ListPicker.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding BindName}" Margin="0"/>
                </DataTemplate>
            </toolkit:ListPicker.ItemTemplate>
            <toolkit:ListPicker.FullModeItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Margin="16,21,0,20">
                        <TextBlock Text="{Binding BindName}" Margin="16,0,0,0" FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}"/>
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.FullModeItemTemplate>

However, although on the listpicker when selected it appears to use this name, the actual value held by the list picker is:

appname.pagename + namestringusedwhensetting

The name of the string comes from where I set it I presume. I am using this method:

    public class BindingSetter
    {
        string sValue;

        public string SValueN
        {
            get { return sValue; }
            set { sValue = value; }
        }
    }

So it is returning:

appname.pagename + sValue

I have used binding throughout my application and have not had this problem before so i am a bit stumped.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ゝ杯具 2024-10-13 13:29:29

我已经设法解决了。要使用所选项目的值,我使用了:

((appname.PageName.ClassUsedToBindData)(ListPickerName.SelectedItem)).String

例如。

((calculator.MainPage.CalculateBinding)(FunctionSelector.SelectedItem)).Function

希望这对像我一样苦苦挣扎的人有所帮助!

I have managed to work it out. To use the value on the selected item I used:

((appname.PageName.ClassUsedToBindData)(ListPickerName.SelectedItem)).String

eg.

((calculator.MainPage.CalculateBinding)(FunctionSelector.SelectedItem)).Function

Hope this helps anyone who is struggling like I was!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文