CaliburnMicro将消息附加到AppBar中的按钮不工作在第一次



我有ShellView这是导体。它包含StartView,我在其中创建Appbar。但在我的应用程序中有很多其他视图appbar在所有屏幕上看起来都很相似所以我制作了AppBarView和AppBarViewModel。我的AppBar是这样定义的:

***StartView***
<Page.BottomAppBar>
    <AppBar x:Name="BottomAppBar">
        <Grid HorizontalAlignment="Right" >
            <local:AppBarView Caliburn:Bind.Model="{Binding AppBarViewModel}" />
        </Grid>
    </AppBar>
</Page.BottomAppBar>
***AppBarView***
<StackPanel Orientation="Horizontal">
    <Button Name="Play"  Style="{StaticResource PlayAppBarButtonStyle}" />
</StackPanel>

我还创建AppBarViewModel方法Play(这是由CM约定)。

当我运行应用程序和打开AppBar第一次我的按钮不工作。但如果我隐藏并再次打开AppBar -一切都很好。

知道为什么第一次不能工作吗?谢谢你!

乌利希期刊指南:调试时输出窗口出现错误:

Error: BindingExpression path error: 'AppBarViewModel' property not found on 'MusicMaker.ViewModels.AppBarViewModel, MusicMaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. BindingExpression: Path='AppBarViewModel' DataItem='MusicMaker.ViewModels.AppBarViewModel, MusicMaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'; target element is 'MusicMaker.Views.AppBarView' (Name='null'); target property is 'Model' (type 'Object')

我有两个建议给你Alexei,但它们可能行不通,但至少你可以试试:

  1. Caliburn:View.Model="{Binding AppBarViewModel}"代替Caliburn:Bind.Model="{Binding AppBarViewModel}"
  2. 如果第一个选项不起作用,那么请查看这篇屏幕,导体和组成文章,看看作者是如何做到viewfirst的,注意他在Caliburn:Bind.Model="{Binding AppBarViewModel}"中使用了字符串而不是绑定标记。

这就是我能说的。

相关内容

  • 没有找到相关文章

最新更新