Привязка данных с проблемой ListPicker - PullRequest
0 голосов
/ 09 декабря 2010

Я пытаюсь связать данные из 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

Я использовал связывание во всем приложении и ранее не сталкивался с этой проблемой, поэтому я немного озадачен.

Заранее спасибо.

1 Ответ

0 голосов
/ 11 декабря 2010

Мне удалось решить это. Чтобы использовать значение выбранного элемента, я использовал:

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

например.

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

Надеюсь, это поможет любому, кто борется, как я!

...