wpftoolkit zoombox 带命令的外部导航
wpftoolkit zoombox external navigation with commands
我想制作额外的按钮块来控制 Xceed.Wpf.Toolkit.Zoombox.Zoombox
。
在当前的实现中,Zoombox 命令是 RoutedUICommands
,所以如果我使用它们,Zoombox
控件不会接收它们。
这是一个示例 XAML:
<xctk:Zoombox>
<Image Source="{Binding ImageAttachment.Path}" infrastructure:AttachedProperties.IgnoreVerticalAligment="True" />
</xctk:Zoombox>
<StackPanel>
<Button x:Name="HomeButton"
Width="20px"
Height="20px"
Command="xctk:Zoombox.Home"
Style="{StaticResource TransparentButton}"
ToolTip="Go Home">
<Image Margin="2" Source="{StaticResource HomeGlyph}" />
</Button>
<Button x:Name="FitButton"
Width="20px"
Height="20px"
Margin="2,0"
Command="xctk:Zoombox.Fit"
Style="{StaticResource TransparentButton}"
ToolTip="Fit Content within Bounds">
<Image Margin="2" Source="{StaticResource FitContentGlyph}" />
</Button>
<StackPanel>
有什么方法可以包含对 RoutedUICommands 路由的控制吗?
RoutedCommand 的工作原理是从生成命令的控件开始,向上冒泡通过控件层次结构,直到它被处理。在您的示例中,RoutedCommand 的路径为:Button > StackPanel > Window。 RoutedCommand 不会转到 Zoombox,因为它是 StackPanel 的同级而不是父级。
为了让它起作用,您需要使用按钮的CommandTarget 属性。 CommandTarget 使 RoutedCommand 从目标开始,然后沿着树向上移动。你可以这样做:
<xctk:Zoombox x:Name="myZoomBox">
<Image Source="{Binding ImageAttachment.Path}"/>
</xctk:Zoombox>
<StackPanel>
<Button x:Name="HomeButton"
Command="xctk:Zoombox.Home"
CommandTarget="{Binding ElementName=myZoomBox}"/>
</StackPanel>
我想制作额外的按钮块来控制 Xceed.Wpf.Toolkit.Zoombox.Zoombox
。
在当前的实现中,Zoombox 命令是 RoutedUICommands
,所以如果我使用它们,Zoombox
控件不会接收它们。
这是一个示例 XAML:
<xctk:Zoombox>
<Image Source="{Binding ImageAttachment.Path}" infrastructure:AttachedProperties.IgnoreVerticalAligment="True" />
</xctk:Zoombox>
<StackPanel>
<Button x:Name="HomeButton"
Width="20px"
Height="20px"
Command="xctk:Zoombox.Home"
Style="{StaticResource TransparentButton}"
ToolTip="Go Home">
<Image Margin="2" Source="{StaticResource HomeGlyph}" />
</Button>
<Button x:Name="FitButton"
Width="20px"
Height="20px"
Margin="2,0"
Command="xctk:Zoombox.Fit"
Style="{StaticResource TransparentButton}"
ToolTip="Fit Content within Bounds">
<Image Margin="2" Source="{StaticResource FitContentGlyph}" />
</Button>
<StackPanel>
有什么方法可以包含对 RoutedUICommands 路由的控制吗?
RoutedCommand 的工作原理是从生成命令的控件开始,向上冒泡通过控件层次结构,直到它被处理。在您的示例中,RoutedCommand 的路径为:Button > StackPanel > Window。 RoutedCommand 不会转到 Zoombox,因为它是 StackPanel 的同级而不是父级。
为了让它起作用,您需要使用按钮的CommandTarget 属性。 CommandTarget 使 RoutedCommand 从目标开始,然后沿着树向上移动。你可以这样做:
<xctk:Zoombox x:Name="myZoomBox">
<Image Source="{Binding ImageAttachment.Path}"/>
</xctk:Zoombox>
<StackPanel>
<Button x:Name="HomeButton"
Command="xctk:Zoombox.Home"
CommandTarget="{Binding ElementName=myZoomBox}"/>
</StackPanel>