与ListPicker问题的数据绑定

时间:2010-12-09 19:27:34

标签: c# silverlight xaml windows-phone-7 silverlight-toolkit

我正在尝试将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>

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

appname.pagename + namestringusedwhensetting

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

    public class BindingSetter
    {
        string sValue;

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

所以它正在回归:

appname.pagename + sValue

我在我的应用程序中使用了绑定,之前没有遇到过这个问题,所以我有点难过。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。要使用我使用的所选项目的值:

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

例如

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

希望这有助于任何像我一样挣扎的人!