0

ローカルウィンドウのプロパティに依存して、データグリッドのボタンを表示または折りたたむようにしたい。

次の項目は LayoutRoot で動作します

<navigation:Page xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" x:Class="TBPM.PageIssues" 
           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"
                 x:Name="PageIssueRoot"
...

_

        <Grid DataContext="{Binding ElementName=PageIssueRoot}">
            <Button Click="btnPasteMessage_Click" Visibility="{Binding Path=IsSaving, Converter={StaticResource BoolToVis}}" >
                <Grid>
                    <Image Height="24" Source="/Next.png" HorizontalAlignment="Center" />
                </Grid>
            </Button>
        </Grid>

コードビハインド

#Region "IsSaving"

    ''' <summary>
    ''' IsSaving Dependency Property
    ''' </summary>
    Public Shared ReadOnly IsSavingProperty As DependencyProperty = _
        DependencyProperty.Register("IsSaving", GetType(Boolean), GetType(PageIssues), _
            New Windows.PropertyMetadata(False))

    ''' <summary>
    ''' Gets or sets the IsSaving property.  This dependency property 
    ''' indicates ....
    ''' </summary>
    Public Property IsSaving() As Boolean
        Get
            Return CType(GetValue(IsSavingProperty), Boolean)
        End Get
        Set(ByVal value As Boolean)
            SetValue(IsSavingProperty, value)
        End Set
    End Property

#End Region

同じコードを DataGrid Template として使用すると機能しません

解決策は何ですか? また、テンプレートがルート ウィンドウを見つけられないのはなぜですか?

4

1 に答える 1

0

バインディングを試してみてくださいRelativeSource...

    <Grid DataContext="{Binding ElementName=PageIssueRoot}">
        <Button Click="btnPasteMessage_Click" Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Page} Path=IsSaving, Converter={StaticResource BoolToVis}}" >
            <Grid>
                <Image Height="24" Source="/Next.png" HorizontalAlignment="Center" />
            </Grid>
        </Button>
    </Grid>
于 2012-11-09T14:53:16.907 に答える