WPF中如何获取ControlTemplate中的对象_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > WPF中如何获取ControlTemplate中的对象

WPF中如何获取ControlTemplate中的对象

 2010/11/16 11:46:00  ligaibing  http://syxc.javaeye.com  我要评论(0)
  • 摘要:先看一段XAML代码:<TabItemName="RootTabItem"Background="Transparent"><TabItem.Template><ControlTemplateTargetType="TabItem"><ButtonName="btnTabItem"><Button.Template><ControlTemplateTargetType="Button"><
  • 标签:WPF获取ControlTemplate对象

先看一段XAML代码:

?

<TabItem Name="RootTabItem" Background="Transparent">
	<TabItem.Template>
		<ControlTemplate TargetType="TabItem">
			<Button Name="btnTabItem">
				<Button.Template>
					<ControlTemplate TargetType="Button">
						<StackPanel Orientation="Horizontal" Background="Transparent">
							<local:IconButton x:Name="btnSend" ToolTip="send"
								   Icon="/Resources/Icon/sendIcon.png"/>
						    <local:IconButton x:Name="btnCut" ToolTip="cut"
								   Icon="/Resources/Icon/cutIcon.png"/>
						</StackPanel>
					</ControlTemplate>
				</Button.Template>
			</Button>
		</ControlTemplate>
	</TabItem.Template>
</TabItem>

?我想要获取btnSend对象,可以这样去做:

?

DependencyObject d1 = VisualTreeHelper.GetChild(RootTabItem,0);
Button button = LogicalTreeHelper.FindLogicalNode(d1,"btnTabItem") as Button;
DependencyObject d2 = VisualTreeHelper.GetChild(button,0);
IconButton iconButton = LogicalTreeHelper.FindLogicalNode(d2,"btnSend") as IconButton;

?现在就可以使用iconButton(btnSend)干你想干的事情了,\(^o^)/...

  • 相关文章
发表评论
用户名: 匿名