绑定到Listpickerflyout

时间:2015-02-20 09:45:11

标签: c# xaml mvvm binding

我一直在尝试将listpickerflyout绑定到某些数据,并且在调试时它似乎没有显示数据。 这是XAML代码:

<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App6"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ViewModel="using:App6.ViewModel"
xmlns:Model="using:App6.Model"
x:Class="App6.MainPage"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

<Page.DataContext>
    <ViewModel:MainViewModel/>
</Page.DataContext>

<Grid>
    <Button Margin="10,0,0,583" Width="313">
        <Button.Flyout>
            <ListPickerFlyout ItemsSource="{Binding Language.Name}"/>
        </Button.Flyout>

        <Button.DataContext>
            <Model:Language/>
        </Button.DataContext>

    </Button>
</Grid>

其他代码MVVM模型:

namespace App6.Model
{
    public class Language
    {
        public string Name { get; set; }
        public int id { get; set; }
    }
}

视图模型:

namespace App6.ViewModel
{
    public class MainViewModel
    {
        public Language Language { get; set; }

        public MainViewModel()
        {
            Language = new Language
            {
                Name = "English",
                id = 1
            };
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您正在分配类型&#34;语言&#34;的对象。到按钮的datacontext。因此,绑定路径是错误的&#34;语言&#34;没有财产&#34;语言&#34;。

您应该创建viewmodel的实例并将其分配给窗口的datacontext。按钮上没有任何分配。