我需要一点点,
上下文: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之外的其他页面。这就是我需要每个页面的可见性属性的原因。
感谢您的帮助,
答案 0 :(得分:0)
好的,这是一个datacontext问题,这就完成了诀窍
<Grid Name="parentGrid">
<v:GEDContenuPage Visibility="{Binding DataContext.IsGEDOpen, Converter={StaticResource BoolToVisibilityConverter}, ElementName=parentGrid}" />