Xaml 经典绑定可以工作,但编译时绑定只能工作一次
我的代码有一个错误,但我看不出来。所以我有一个FlipView,它有多个数据模板。现在我希望视图在vm中的PropertyChange上更新,所以我使用数据绑定 但是如果我使用编译时绑定,那么绑定的行为只会被设置为OneTime——即使模式被设置为单向或双向。所以我认为OnPropertyChanged事件可能有问题,但我什么也找不到。因此,我尝试切换到经典绑定-,它可以工作。所以我的问题是我在x:Bind上做错了什么 这里是XAML的简化版本:Xaml 经典绑定可以工作,但编译时绑定只能工作一次,xaml,mvvm,uwp,mvvm-light,uwp-xaml,Xaml,Mvvm,Uwp,Mvvm Light,Uwp Xaml,我的代码有一个错误,但我看不出来。所以我有一个FlipView,它有多个数据模板。现在我希望视图在vm中的PropertyChange上更新,所以我使用数据绑定 但是如果我使用编译时绑定,那么绑定的行为只会被设置为OneTime——即使模式被设置为单向或双向。所以我认为OnPropertyChanged事件可能有问题,但我什么也找不到。因此,我尝试切换到经典绑定-,它可以工作。所以我的问题是我在x:Bind上做错了什么 这里是XAML的简化版本: <Page [...] Da
<Page
[...]
DataContext="{Binding Source={StaticResource Locator}, Path=GalleryViewModelInstance}">
<Page.Resources>
[...]
<DataTemplate x:Name="FlipImageTemplate" x:DataType="gallery:IMediaAttachmentViewModel">
<Image Stretch="UniformToFill"HorizontalAlignment="Center" >
<Image.Source>
<BitmapImage UriSource="{Binding AttachmentViewModel.RelativeAttachmentPath, Mode=OneWay, Converter={StaticResource UriConverter}}" />
</Image.Source>
</Image>
</DataTemplate>
<DataTemplate x:Name="FlipVideoAudioTemplate" x:DataType="gallery:IMediaAttachmentViewModel">
[...]
</DataTemplate>
<DataTemplate x:Name="FlipPDFTemplate" x:DataType="gallery:IMediaAttachmentViewModel" >
[...]
</DataTemplate>
<DataTemplate x:Name="FlipOtherTemplate" >
[...]
</DataTemplate>
<local:BigPictureDataTemplateSelector x:Key="BigPictureDataTemplateSelector"
ImageTemplate="{StaticResource FlipImageTemplate}"
VideoAndAudioTemplate="{StaticResource FlipVideoAudioTemplate}"
PdfTemplate="{StaticResource FlipPDFTemplate}"
OtherTemplate="{StaticResource FlipOtherTemplate}"/>
</Page.Resources>
<RelativePanel x:Name="relativePanel" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
Padding="40,40,40,40">
<FlipView x:Name="FlipView"
SelectedIndex="{x:Bind ViewModel.FilpViewIndex, Mode=TwoWay}"
ItemsSource="{x:Bind ViewModel.GalleryDataViewModels, Mode=TwoWay}"
ItemTemplateSelector="{StaticResource BigPictureDataTemplateSelector}">
</FlipView>
[...]
</RelativePanel>
</Page>
[...]
[...]
[...]
[...]
[...]
因此,如果我将绑定更改为x:bind,它不会更新视图(因为模式将设置为OneTime)
您试过调试生成的编译时绑定吗?其余的代码呢?是否更改ViewModel的对象实例或任何绑定属性?是否尝试调试生成的编译时绑定?其余代码如何?是否更改ViewModel的对象实例或任何绑定属性?
<BitmapImage UriSource="{x:Bind AttachmentViewModel.RelativeAttachmentPath, Mode=OneWay, Converter={StaticResource UriConverter}}" />