Xaml 设置CustomMessageBox的DataContext
我需要在xaml中设置CustomMessageBox的数据模板,如下所示:Xaml 设置CustomMessageBox的DataContext,xaml,windows-phone-7,windows-phone-8,datacontext,windows-phone-toolkit,Xaml,Windows Phone 7,Windows Phone 8,Datacontext,Windows Phone Toolkit,我需要在xaml中设置CustomMessageBox的数据模板,如下所示: <Grid.Resources> <DataTemplate x:Key="CustomMessageBoxTemplate"> <phone:LongListSelector LayoutMode="Grid" ItemsSource="{Binding}" GridCellSize="210
<Grid.Resources>
<DataTemplate x:Key="CustomMessageBoxTemplate">
<phone:LongListSelector
LayoutMode="Grid"
ItemsSource="{Binding}"
GridCellSize="210 200"
toolkit:TiltEffect.IsTiltEnabled="True"
ItemTemplate="{StaticResource ItemTemplate}" />
</DataTemplate>
</Grid.Resources>
其中myList是正确设置的列表(我通过调试进行了检查)
但问题是,我的数据上下文没有改变,CustomMessageBox中的LongListSelector保持未填充状态
我不知道我在哪里犯了错误。我试图寻找如何做,但我没有找到任何有用的
谢谢你的帮助 ContentTemplate中xaml的
DataContext
自动设置为Content
属性。尝试设置Content=myList
您应该在DataContext
之前尝试设置ContentTemplate
,我已经尝试过了,但是没有任何改变。就在messageBox.Show()之前,
DataContext仍然是null
我不能给您投票,因为我的声誉太低了,但非常感谢您!我认为你的答案是最好的。
CustomMessageBox messageBox = new CustomMessageBox()
{
Caption = "Title",
DataContext = myList,
ContentTemplate = (DataTemplate)this.LayoutRoot.Resources["CustomMessageBoxTemplate"],
LeftButtonContent = "OK"
};
messageBox.Show();