使用ControlTemplate绑定到ViewModel

时间:2016-09-12 18:55:31

标签: wpf data-binding

我正在使用此DockPanel

<DockPanel>
    <Frame x:Name="_mainFrame">
        <Frame.Template>
            <ControlTemplate TargetType="{x:Type Frame}">
                <DockPanel Margin="7">
                    <StackPanel Margin="7" Orientation="Horizontal" DockPanel.Dock="Top">
                        <Button Margin="5" Content="Avast! Go back!" Command="{x:Static NavigationCommands.BrowseBack}" IsEnabled="False" />
                        <Button Margin="5" Content="{Binding ButtonForwardtext}" Command="{x:Static NavigationCommands.BrowseForward}" IsEnabled="False" Width="52" />
                    </StackPanel>
                    <Border BorderBrush="black" BorderThickness="2" Padding="7" CornerRadius="4">
                        <StackPanel HorizontalAlignment="Stretch" Width="90" Orientation="Vertical" Margin="0,0,10,0" DockPanel.Dock="Left">
                            <Button HorizontalAlignment="Stretch" Content="New Page!" Command="{Binding FwdText, Mode=OneWay}" />
                        </StackPanel>
                    </Border>
                    <Border BorderBrush="Black" BorderThickness="2" Padding="7" CornerRadius="4">
                        <ContentPresenter />
                    </Border>
                </DockPanel>
            </ControlTemplate>
        </Frame.Template>
    </Frame>
</DockPanel>

我已成功连接数据上下文,但是当我尝试将按钮文本绑定到ViewModel中的属性(出于测试目的)时,无论出于何种原因,它都不起作用。如果我将ViewModel绑定在DockPanel之外,它可以正常工作。

任何人都知道在ControlTemplate中绑定到ViewModel的正确方法吗?我已经尝试过TemplateBinding,但仍然不喜欢它。

0 个答案:

没有答案