UWP Xaml将属性绑定到splitview中的其他页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UWP Xaml将属性绑定到splitview中的其他页面相关的知识,希望对你有一定的参考价值。

我需要一点帮助,

上下文:Windows 10 UWP开发,C#,Visual Studio 2017

我不明白为什么我可以在我的代码中传递INotify属性,但我不能在GEDContenuPage页面视图中,我想在我的SplitView的左窗格中添加。

<SplitView Grid.Row="1" 
    IsPaneOpen="{Binding IsGEDOpen}"
    DisplayMode="Inline" 
    OpenPaneLength="{Binding GEDPaneWidth}">
    <SplitView.Pane>
        <Grid>            
            <v:GEDContenuPage Visibility="{Binding IsGEDOpen, Converter={StaticResource BoolToVisibilityConverter}}"  /> 
        </Grid>
    </SplitView.Pane>    
    <ScrollViewer >
        <Grid x:Name="mainGridData" />
    </ScrollViewer>
</SplitView>

IsPaneOpen =“{Binding IsGEDOpen}”将起作用并完成其工作(打开或关闭左窗格)

BoolToVisibilityConverter在app.xaml中运行良好(在其他地方测试)

我还在页面控件中创建了DependencyProperty:

<v:GEDContenuPage 
Visibility="{Binding IsGEDOpen, Converter={StaticResource BoolToVisibilityConverter}}" 
ext:GEDContenuPageExtension.ContenuId="2446"
/>

同样的事情,2446将运作良好,这将打开我的左窗格与正确的内容。但我尝试用绑定替换它:

ext:GEDContenuPageExtension.ContenuId="{Binding GedContenuId}

它不会起作用。

我想这是本周末,我唯一需要的就是新鲜的啤酒让我的想法正确......

为了您的信息,左窗格将收到除GEDContenuPage之外的其他页面。这就是我需要每个页面的可见性属性的原因。

感谢帮助,

答案

好的,这是一个datacontext问题,这就完成了

<Grid Name="parentGrid">

<v:GEDContenuPage Visibility="{Binding DataContext.IsGEDOpen, Converter={StaticResource BoolToVisibilityConverter}, ElementName=parentGrid}" />

以上是关于UWP Xaml将属性绑定到splitview中的其他页面的主要内容,如果未能解决你的问题,请参考以下文章

XAML学习笔记——Layout

绑定 XAML uwp 时遇到问题

UWP MVVMCross将属性绑定到方法

UWP Xaml文本块数据绑定 - 即使属性已更新,UI也不会更新

Windows-10 UWP 将图像 url 绑定到 ListView 中的图像源

UWP DependencyObject 绑定 Windows.UI.Xaml.Markup.XamlParseException