我想更改ItemsPanelTemplate内部的StackPanel的方向.要更改Orientation,我已经实现了一个属性.是否有任何方法可以更改StackPanel的方向.我尝试了以下代码..但是没有成功.Setter Property=ItemsPanelSetter.Valu...

我想更改ItemsPanelTemplate内部的StackPanel的方向.要更改Orientation,我已经实现了一个属性.是否有任何方法可以更改StackPanel的方向.我尝试了以下代码..但是没有成功.
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="{Binding MyOrientation,RelativeSource={RelativeSource TemplatedParent}}" HorizontalAlignment="Left" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
解决方法:
使用{RelativeSource AncestorType = YourItemsControlType}
MyItemsControl.cs:
namespace MyNamespace.Controls
{
public partial class MyItemsControl : ItemsControl
{
public static readonly DependencyProperty MyOrientationProperty =
DependencyProperty.Register(
"MyOrientation",
typeof(Orientation),
typeof(MyItemsControl));
public Orientation MyOrientation
{
get { return (Orientation)GetValue(MyOrientationProperty); }
set { SetValue(MyOrientationProperty, value); }
}
}
}
MyItemsControls.xaml
<Style xmlns:source="clr-namespace:MyNamespace.Controls" TargetType="source:MyItemsControl">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel
Orientation="{Binding Orientation,
RelativeSource={
RelativeSource AncestorType=source:MyItemsControl
}
}"
HorizontalAlignment="Left" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
参考:http://msdn.microsoft.com/en-us/library/ms743599%28v=vs.110%29.aspx
织梦狗教程
本文标题为:c#-在Windows Phone中从父项绑定到ItemsPanelTemplate中


基础教程推荐
猜你喜欢
- c# – 针对Oracle,Sql Server和Mongodb构建聚合/摘要报告数据库 2023-11-10
- 详解c# 事件总线 2023-04-14
- 使用SqlDataReader的DateTime2到C#DateTime 2023-11-09
- c# – ASP.NET MVC 4将Windows身份验证应用于单个控制器? 2023-09-19
- c#-在Windows Store应用中使用MIDI(Win 8.1) 2023-11-12
- WPF+ASP.NET SignalR实现简易在线聊天功能的示例代码 2023-07-04
- 基于C#实现端口扫描器(单线程和多线程) 2023-05-10
- C#事件中的两个参数详解(object sender,EventArgs e) 2023-07-04
- C#实现模拟ATM自动取款机功能 2023-07-04
- Unity中 mesh生成斜坡的示例代码 2023-04-21