Articles of xaml

如何停止动画WPF?

如何停止动画,以便它不会产生Completed事件。 这是一个简单的例子 支持代码: private void Border_MouseEnter(object sender, MouseEventArgs e) { var a = new DoubleAnimation { To = 0, Duration = TimeSpan.FromMilliseconds(4000) }; a.Completed += (obj, args) => MessageBox.Show(“Boom!”); border.BeginAnimation(Border.OpacityProperty, a); } private void Border_MouseLeave(object sender, MouseEventArgs e) { border.BeginAnimation(Border.OpacityProperty, null); border.Opacity = 1; } 如果我在矩形变为白色之前移动鼠标,它会在一段时间后显示弹出窗口。 怎么预防这个? 让我们假设Border_MouseLeave和Border_MouseEnter方法彼此不了解(它们不能相互传递动画实例变量)。

将XAML PathGeometry转换为WPF PathGeometry

我想要由LineSegment组成的PathGeometry。 所以,我使用第一个代码,但它是错误的。 PathGeometry temp = (PathGeometry)Geometry.Parse( “” + “” + “” + “” + “” + “” + “” + “” + “” + “”); 如果我使用第二个代码,它不是错误,但它不包含LineSegment。 结果将是PolyLineSegment,但我想要LineSegment。 PathGeometry temp = (PathGeometry)Geometry.Parse( “M29,329L30,331L31,334L33,336L34,338L36,341L38,343L39,345L41,348L44,352L46,353L47,355L48,356L49,357L49,357L50,358L50,358L51,357L50,356L51,354L51,350L53,342L54,334L58,320L60,315L61,311L63,308L63,306L64,304L65,303L65,302L66,301L66,301L66,301L66,301L66,301L66,301L66,301”); 如何将XAML PathGeometry转换为WPF PathGeometry? 谢谢

XAML分组GridView /语义缩放不显示所有孩子?

我正在尝试使用XAML C#Grouped GridView示例使我的SemanticZoom在XAML C#Windows 8应用程序中工作。 问题是,由于某种原因,它显示正确的标题(在这种情况下是类别),但它没有显示标题下的所有项目(它只显示每个项目,当我在其中一些项目中最多有6个项目时)。 这是SemanticZoom的XAML代码(请注意,为了简洁起见,我省略了ZoomedOutView,因为它运行良好): 以及启动应用程序时调用的Refresh()C#函数: System.Collections.ObjectModel.ObservableCollection finalSource = new System.Collections.ObjectModel.ObservableCollection(); public async Task Refresh() { var Pins = await pinTable.ReadAsync(); //pinTable is an Azure Mobile Services table List categoriesMixed = new List(); if (Pins.ToArray().Length < 1) { //adds a new "Welcome" pin to the table, taken out for brevity } foreach (pin […]

ISupportIncrementalLoading从下到上

我在WinRT中实现了ISupportIncrementalLoading以在ListView进行增量加载,它运行良好。 问题是新项目被添加到列表底部,看到更多项目,我需要下去。 我需要的是相反的。 我希望看到更多项目,我需要向上滚动。 该列表基本上是一个日志文件,最新的日期必须显示在列表的底部,如果我想查看较旧的记录,我需要使用向上滚动。 有办法吗?

如何使WPF Slider Thumb从任何点跟随光标

我有这样的滑块: 我想做下一个行为:当MouseDown在滑块的任何一点出现时,Thumb不仅会移动一次到该点,而且还会跟随光标直到MouseUp发生。 对不起,如果已经问过,我找不到那个问题。

C#检测重音颜色更改WinRT XAML

我正在尝试检测Application.Resources资源字典中的更改,因此我可以在更新时自动将Titlebar更改为Accent Color。 所有XAML控件和元素都会自动更改,并且在将纯色画笔设置为DSDFS画笔的地址时,其内部值会更改。 这是我尝试用来检测更改的代码: public static DependencyProperty accent = DependencyProperty.Register(“DictChange”, typeof(ResourceDictionary), typeof(Shell), new PropertyMetadata(Application.Current.Resources, new PropertyChangedCallback(accent_PropertyChanged))); public ResourceDictionary DictChange { get { return (ResourceDictionary)GetValue(accent); } set { SetValue(accent, value); } } private static void accent_PropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { _app.SetTitlebar(); } 我假设它错了,或者我不确定检测更改是否正确。 之前的迭代中,我使用Application.Current.Resources[“SystemControlBackgroundAccentBrush”] as SolidColorBrush并尝试检测其属性,但这也无效。 我究竟做错了什么? 请帮忙 :)

ListView的项目在WinRT中插入动画

最近我开始构建自己的大型Windows 8商店应用程序。 在UI上工作我开始复制一些好的UI。 我在标准的Mail应用程序中遇到了在列表视图中插入新元素的非常有趣的动画。 当您单击链时,它会展开并显示链中的所有消息。 这是拍摄的video。 我不知道他们用什么技术来实现这个动画和行为。 任何人都可以帮助我,解释或举例说明我该如何实现这种行为? 谢谢。

如何在wpf app后面的代码中创建集合视图源

我有以下代码 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); var entities = new DemoEntities(); var depts = entities.Depts.ToList(); // entity framwork dept table CollectionViewSource cvs = (CollectionViewSource)CollectionViewSource.GetDefaultView(depts); } } 我的目的是在XAML中将此集合绑定到以下窗口资源 运用 CollectionViewSource collectionViewSource = this.FindResource(“Departments”) as CollectionViewSource; 但是在执行以下代码行时 CollectionViewSource cvs =(CollectionViewSource)CollectionViewSource.GetDefaultView(depts); 它抛出一个exception,并且该exception的内部exception正在跟随 {“Unable to cast object of type ‘System.Windows.Data.ListCollectionView’ to type ‘System.Windows.Data.CollectionViewSource’.”} […]

Contentpresenter,基于类型的datatemplate选择和绑定

我有一个ItemsControl绑定到项目列表。 这些项目具有名称和值属性。 value属性的类型为Object,以允许使用不同的数据类型。 要正确显示value属性,我可以为我可能使用的每种数据类型使用带有datatemplate的ContentPresenter。 ContentPresenter使用正确的数据类型并且运行良好。 我的问题是编辑这些值对绑定项没有任何影响。 我怀疑这是因为我绑定到ContentPresenter的content属性而不是直接绑定到Value。 我尝试过像这样使用ContentPresenter: 但是这样就没有选择正确的DataTemplate,它只是显示Object而不是String。 我也试图在DataTemplate的绑定中省略这样的路径: 有了这个,我得到一个exception,告诉我使用Path或XPath属性。 所以我的问题是:如何正确绑定到Value,以便使用正确的DataTemplate显示,并且任何值的编辑都将应用于绑定项。 顺便说一句,由于某种原因,我的问题格式化的代码块在第一行后缩进了很多。 我试着修理它,但我不明白发生了什么。

为什么我的隐式ContextMenu样式不会覆盖TextBox上下文菜单样式?

我从这个站点获取了ContextMenu隐式样式: 然后我尝试在这里使用它,因此它应用于TextBox的默认ContextMenu和我为Button添加的ContextMenu 。 Test Test Test2 样式应用于Button ,但不应用于TextBox 。 我觉得这应该是相当简单和简单的,为什么我的隐式样式不能应用于TextBox的默认ContextMenu ,我做错了什么? == ==更新 我目前还不确定答案,但我认为这里的问题是使用ContextMenu设计TextBox一些缺陷,我希望有更多知识渊博的人能够证实。 使用Snoop我可以看到ContextMenu不是你期望的对象,而是一个EditorContextMenu对象,它是内部的,所以你不能设置它的样式。 他们为什么要这样用? 我不知道。 作为解决方法,我创建了一个默认的上下文菜单并使用它。 如果向TextBox添加上下文菜单,则它会正确地采用隐式样式。 既然您知道默认ContextMenu具有的项目,并且这些项目依次使用ApplicationCommands,则非常简单: 然后在TextBoxStyle中执行: 这样你的TextBox的默认ContextMenu将采用隐式样式。