Tag: xaml

当数据为空且标题不适合屏幕时,水平滚动条不显示在数据网格上

我尝试过以下方法: ScrollViewer.CanContentScroll=”True” ScrollViewer.HorizontalScrollBarVisibility=”Visible” 但它似乎没有用。

访问WPF UserControl子元素属性

假设我有一个带有几个子控件的UserControl <UserControl x:Class="Any.AnyControl" … more controls here 我在MainWindow中使用它,如下所示: // I want to access AnyControl label1 Background property here 我知道如何在代码隐藏中访问AnyControl label1 Background属性,但是有什么方法可以在父XAML中访问它吗? 我的代码现在:在父XAML中 在UserControl中 并尝试这一点

用波浪动画填充椭圆

我已经在Windows Phone 8.1 Silverlight App和UWP中创建了一个椭圆,我想用动画波填充它,为此,我正在遵循这个解决方案 但它适用于WPF,所以我无法使用像“Visual Brush”这样的控件。 我想用类似于此的波填充椭圆(在图像中忽略50%) – 这是我的eliipse 视觉刷上的任何替代品? 主要是我想在Windows Phone 8.1 Silverlight中实现它,但是如果它在WP平台上不可用,我将切换到UWP

在TreeView中使用WrapPanel

我想显示详细程度的数据,所以我使用TreeView,但每个细节都很短,所以我想使用WrapPanel(水平)每行有很多细节。 就像是 : 这是一个未扩展的项目 这是展开项目的标题 信息1信息2信息3信息4 信息5信息6信息7 所以我尝试定义TreeViewItem的模板,但我无法让wrappanel包装。 我的每行只有一个信息,当info的datatemplate宽度为100而TreeView为500时。我尝试设置WrapPanel的宽度,ItemsWidth,是其他没有成功的事情。 任何的想法 ? 编辑:我终于使用“更简单”的解决方案。 似乎我们必须定义WrapPanel的宽度,这使得解决方案不那么通用。 这是我遇到的解决方案:只是在样式中定义TreeViewItem中使用的ItemsPanel: 为了完整起见,我仍然在这里使用不起作用的解决方案。 (为什么它不起作用?) !!!! this is the wrapanel not wrapping

在运行时组合DataTemplates

我有一个ListBox,它通过ItemSource呈现对象的数据绑定列表。 因为每个对象都有特殊的显示需求,所以我定义了一个ItemTemplateSelector,它根据对象返回相应的DataTemplate。 这一切都顺利进行。 每个对象的DataTemplates遵循一个通用公式,但在中间包含自定义元素。 例如: 正如你所看到的那样,有很多共享的XAML,在中间包含一个小的自定义部分。 其他数据模板将由其他工程师编写(他们希望为他们添加的每个新对象类型创建一个),因此我有兴趣创建一个新的DataTemplate,尽可能简单,无痛。 当然,没有复制整个DataTemplate与中间添加的自定义“东西” – 但我也不会偏向于将模板的一部分提取为可重用的部分并引用它们,因为它仍会导致大量重复的代码每个新的DataTemplate,这意味着可能的错误和难以维护。 也就是说,这是一种更易于维护的方法,但仍然感觉不是最理想的: […] 那么:解决这个问题的最佳策略是什么? AFAIK我坚持使用DataTemplates,因为这是ListBox ItemTemplateSelector接受的唯一元素。 有没有办法在DataTemplateSelector中创建复合DataTemplate? 我将提供由所有对象共享的库存DataTemplate,以及每个对象类型所需的自定义XAML位中的DataTemplateSelector引用。 其他工程师会加入这种通用代码行为。 不确定,在这里黑暗中摸索着是否有一种模式可以让我优雅地解决这个问题。 并且,仅供参考:我当前的DataTemplateSelector非常简单。 这是我期望构建最终DataTemplate的地方,而不是简单地返回在XAML中硬编码的那个。 public class NodeComponentDataTemplateSelector : DataTemplateSelector { public override DataTemplate SelectTemplate(object item, DependencyObject container) { FrameworkElement element = container as FrameworkElement; if (element != null && item != null) { if (item is CollectibleComponent) return […]

线程问题“调用线程无法访问此对象,因为不同的线程拥有它”。 有解决方案?

我有一个包含文件名的列表视图。 我有另一个列表视图,其中包含重命名这些文件的可能操作。 最后,我有一个标签,显示结果的预览。 当在每个列表中选择一个对象时,我想显示预览。 您只能选择一个文件,但只能选择一个或多个操作。 我使用WPF / Xaml作为我的UI。 我选择用线程执行我的预览。 这是我的代码的一部分: private Thread _thread; public MainWindow() { InitializeComponent(); _thread = new Thread(DoWork); } public void DoWork() { while (true) { FileData fileData = listViewFiles.SelectedItem as FileData; // ERROR HERE if (fileData != null) { string name = fileData.FileName; foreach (var action in _actionCollection) { name = […]

如何在c#wpf中获取元素的标记?

我正在尝试使用WPF构建一个GUI,我可以在其中绘制一些基本形状并将它们存储到xml文件中。 形状是在xaml文件中设计的,我为每个文件添加了标签。 现在我想在我的代码中获取其标签的值,以便在输出xml文件中存储为属性。 例如,我在我的xaml文件中创建了一个带有名为“RectangleTag”标签的矩形形状,如下所示: <Setter Property="Tag" Value="RectangleTag"/ 和 然后在我的代码中我做了: XElement myItem = new XElement(“Items”, from item in designerItems let contentXaml = XamlWriter.Save(((DesignerItem)item).Conent) select new XElement(“Item”, new XAttribute( “Tag”, item.Tag.ToString()) ); 然后我的GUI停止响应此行。 我相信必须有一些方法来获取标签,但显然不是这种方式。 我怎样才能做到这一点? 它不一定是标签,也不一定是x:Name或x:Key ,足以让我区分给定的形状。 我也尝试过这一行: new XAttribute(“Tag”, item.Name) 但是这会给出一个空字符串,而不是xaml文件中指定的名称。 有人可以帮忙吗? 谢谢。

在wpf c#应用程序中的其他另一个类中访问XAML的按钮和复选框的值

我正在研究WPF Kinect项目。 它是Windows Kinect的开发人员工具包示例之一,它被称为“Kinect Explorer”。 您可以从Kinect Developer Toolkit SDK ver 1.5下载它。 在kinectwindow.xaml中,我添加了一个按钮和一个复选框。 此外,还有一个名为kinectskeleton.cs的类,其中我创建了两个DataTables和一个布尔变量。 第一个DataTable填充在OnRender函数中,而另一个是空的。 布尔变量默认设置为false。 所以,我想要的是当按下kinectwindow.xaml.cs中的按钮时,填充的DataTable的最新数据被复制到空的DataTable中。 然后,选中该复选框时,布尔值设置为true。 那么,怎么做呢? 我在类kinectskeleton.cs中定义了一个函数,它将数据从填充的数据复制到空的DataTable 。 在kinectwindow.xaml.cs按钮的OnClick函数中,我从类kinectskeleton创建了一个对象并调用了这个函数,但两个DataTable都是空的。 CheckBox_Checked函数中的CheckBox_Checked :我将类kinectskelton的布尔值设置为true(在未选中的函数中,我将其设置为false)。 但是,结果是在kinectskelton类中它始终设置为默认值(false),并且永远不会输入我为它输入的if条件。 希望现在更清楚,等待任何建议。 要下载该工具包,请访问以下链接: http : //www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx 我的代码的一部分: //—————————————————————————— // // Copyright (c) Microsoft Corporation. All rights reserved. // //—————————————————————————— namespace Microsoft.Samples.Kinect.KinectExplorer { using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Input; using Microsoft.Kinect; […]

WPF缩放canvas中心鼠标位置

使用“左”和“顶”点固定参考点以缩放“canvas”。 我想放大并缩小鼠标指针。 如何将其纳入MVVM模式? (不在代码后面)。 使用鼠标滚轮,我可以放大canvas。 我已经使用了RenderTransformOrigin,CenterX,CenterY,但它没有用。 我想我采取了错误的做法。 请帮我..

WPF依赖属性

我很难在WPF中了解依赖属性,也许是因为我正在寻找的用例是非常具体的,没有很好的文档记录。 我有一个看起来像这样的自定义控件(请忽略所有可怕的代码,这是暂时的!): 我在我的主窗口中调用它,如下所示: 并且控件内的代码如下: using System; using System.Windows; using System.Windows.Controls; namespace HydroAccessory.Controls { public partial class FillGraph : UserControl { private float percentage; public float Percentage { get { return percentage; } set { percentage = value; PercentageTB.Text = String.Format(“Fill Percentage: {0}”, percentage.ToString() + “%”); } } public FillGraph() { InitializeComponent(); } } } 我希望能够做的就是在主窗口中的自定义控件调用中说: […]