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

时间:2018-03-02 17:46:48

标签: properties binding

我需要一点点,

上下文: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之外的其他页面。这就是我需要每个页面的可见性属性的原因。

感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

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

<Grid Name="parentGrid">

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