【问题标题】:Binding ViewModel property to the primary View or sub view if primary view including sub view?如果主视图包括子视图,则将 ViewModel 属性绑定到主视图或子视图?
【发布时间】:2016-12-02 22:27:37
【问题描述】:

我有一个主视图。它包括 FirstSubView 和 SecondSubView。

<navigation:Page x:Class="Test.Views.PreimaryView" 
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
       xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
       xmlns:localViews="clr-namespace:Test.Views"
       mc:Ignorable="d"
       xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
       d:DesignWidth="1057" d:DesignHeight="707"
       Title="TestView Page">
<UserControl.Resources>
    <silverlightLib:BooleanVisibilityConverter x:Key="BooleanVisibilityConverter"></silverlightLib:BooleanVisibilityConverter>
</UserControl.Resources>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Background="Transparent">
    <StackPanel Orientation="Horizontal">
        <StackPanel Orientation="Vertical">
            <localViews:FirstSubView DataContext="{Binding VmFirst, Mode=TwoWay}"></localViews:FirstSubView>
            <localViews:SecondSubView DataContext="{Binding VmSecond, Mode=TwoWay}" Visibility="{Binding IsAdjustVisible, Converter={StaticResource BooleanVisibilityConverter}}"></localViews:SecondSubView>
        </StackPanel>
    </StackPanel>
</ScrollViewer>

您在 SecondSubView 中看到我有一个绑定属性IsAdjustVisible

我的问题是我在哪里设置它?我在两个 ViewModel 中都设置了它以调整第二个 View 的可见性。但它不起作用,即使它为false,仍然显示View。

【问题讨论】:

  • 试试这样。 &lt;Grid&gt;&lt;Grid.DataContext&gt;&lt;local:VmSecond&gt;&lt;/Grid.DataContext&gt;&lt;localViews:SecondSubView Visibility="{Binding IsAdjustVisible, Converter={StaticResource BooleanVisibilityConverter}}"&gt;&lt;/localViews:SecondSubView&gt;&lt;/Grid&gt;
  • @AVKNaidu,有一个类似的question。我试过了,但它不起作用。

标签: xaml silverlight mvvm


【解决方案1】:

我终于找到了问题所在。我只需要一个地方来放置这些属性。哪个是子视图而不是主视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多