Tag: wpf controls

如何在Console Project中使用Main()启动窗口。

我有一个控制台项目,但现在我需要打开一个用户界面。 所以我正在使用3层模型(演示,业务,访问数据)。 在我的方法Main()我调用表示层(如Window窗体或Wpf中的app),因此,在表示层中是通过CONSOLE与用户交互。 现在我在表示层中添加一个名为“UserInterface.xaml”的窗口来代替控制台。 因为应该使用INTERFACE而不是控制台。 我观察到在MainWindow中调用的是MainWindow.Show(); 但我不知道如何调用我的“UserInterface.xaml”,因为没有.Show()方法。 这是我的方法主要: public static void Main() { MainWindow.Show(); // THIS IS WITH MainWindow.xaml UserInterface.??? // THIS IS MY CASE WITH UserInterface.xaml } 那么有人可以告诉我如何从Main方法调用我的窗口吗?

将EnumMatchToBooleanConverter添加到我的xaml文件的问题

我正在尝试遵循这个radiobutton教程 我创建了一个名为EnumMatchToBooleanConverter的类,它位于我的wpf项目的顶层。 它说放在一个window.resources里面这样: 我在usercontrol中使用它,所以我把它放在一个stackpanel中: 我有Microsoft Visual Studio Ultimate 2012,它给了我一个错误: Windows Presentation Foundation(WPF)项目不支持EnumMatchToBooleanConverter。 关于我做错了什么的任何想法? 我不允许将它放在stackpanel.resources中吗? 我只是尝试将它放在grid.resources中 它说 找不到类型’EnumMatchToBooleanConverter’。 validation您是否缺少程序集引用,并且已构建所有引用的程序集。 它与我项目的其余部分位于同一名称空间中,所以我不确定它为什么找不到它。

以编程方式处理在xaml中创建的canvas

我正在使用MVVM方法在WPF中创建应用程序。 我对这个主题相当新,我正在寻找如何实现以下内容的指针:我在XAML中创建了一个canvas,如下所示: … 我在XAML中添加了一个按钮,我想用鼠标单击将(编程)一些基本形状(线条,矩形等)绘制到现有canvas上。 由于我使用的是MVVM方法,因此按钮的命令必须绑定到方法,如下所示: … 我得到绑定本身工作正常,我在C#中创建了图形和形状,但我不明白如何将形状放在XAML中创建的canvas上。 如何从我的方法中解决在XAML中预先制作的canvas? 我该怎么做? 编辑: 关键是我想基于数据生成形状以使其可视化。 所以,如果我的输入有3个A类元素,我想创建3个矩形并在canvas上显示它们。 后来我想让它们可点击并在点击时显示一些关于它们的信息。 MVVM是我的一套要求。

WPF TreeViewItem切换按钮可见性

我遇到了一个问题,我希望有人可以帮我解决。 我遇到过一个案例,我的节点包含一组可见性设置为false的子节点。 我希望我可以禁用TreeViewItem旁边的切换箭头,如果它的所有子项都是不可见的。 这可能吗? 这是一个例子: 我如何获得Cold Drinks TreeViewItem来隐藏切换箭头?

如何让WPF窗口自动调整内容,而不是更多

我有一个包含2个TextBlocks,一个进度条和一个取消按钮的对话框。 这是XAML: Window x:Class=”WpfApplication4.MainWindow” xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation” xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml” xmlns:d=”http://schemas.microsoft.com/expression/blend/2008″ xmlns:mc=”http://schemas.openxmlformats.org/markup-compatibility/2006″ xmlns:local=”clr-namespace:WpfApplication4″ mc:Ignorable=”d” Title=”MainWindow” Height=”Auto” Width=”200″> This is a really really really really long string that wraps 我希望窗口不要有一个固定的高度,但根据它的孩子的大小自动调整它的高度,但没有更多,但看不到这样做的方法。 在我没有为Window的高度指定任何东西的那一刻,它似乎采用了一个比内容更大的高度不确定原因,或者它从哪里得到高度值? 如果我设置Windows高度=“自动”我得到相同的东西。 RowDefinitions的所有高度都设置为“Auto”,我的意思是“将行高设置为行子高度”。 非常感谢您的帮助。

如何将ItemsControl.ItemsSource与XAML中的属性绑定?

我有一个简单的窗口: 以及相关的代码背后: public partial class WinActivityManager : Window { private ObservableCollection Activities { get; set; } public WinActivityManager() { Activities = new ObservableCollection(); InitializeComponent(); } // Other code … } 如果我在窗口构造函数中编写以下绑定: lvItems.ItemsSource = Activities; 然后当我从Activities添加或删除元素时,我的ListView会自动更新。 我该如何在XAML中编写绑定? 我试过这个,但它不起作用: 如何在XAML中完成这项工作?

带图像的WPF单选按钮

我必须创建类似于图片的东西。 如果单击其中一个按钮,则其他按钮应变暗。 非常感谢! 这就是我需要的

以编程方式在WPF中创建网格作为模板

我想以编程方式创建一个带有样式的基本用户控件。 在这种风格中我想添加一个Grid (没问题),但是我不能在这个网格中添加列定义。 我的示例代码是 ControlTemplate templ = new ControlTemplate(); FrameworkElementFactory mainPanel = new FrameworkElementFactory(typeof(DockPanel)); mainPanel.SetValue(DockPanel.LastChildFillProperty, true); FrameworkElementFactory headerPanel = new FrameworkElementFactory(typeof(StackPanel)); headerPanel.SetValue(StackPanel.OrientationProperty, Orientation.Horizontal); headerPanel.SetValue(DockPanel.DockProperty, Dock.Top); mainPanel.AppendChild(headerPanel); FrameworkElementFactory headerImg = new FrameworkElementFactory(typeof(Image)); headerImg.SetValue(Image.MarginProperty, new Thickness(5)); headerImg.SetValue(Image.HeightProperty, 32d); headerImg.SetBinding(Image.SourceProperty, new Binding(“ElementImage”) { RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent) }); headerPanel.AppendChild(headerImg); FrameworkElementFactory headerTitle = new FrameworkElementFactory(typeof(TextBlock)); headerTitle.SetValue(TextBlock.FontSizeProperty, 16d); headerTitle.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); […]

combobox与WPF DataGrid中的复选框

我需要在WPF的DataGrid中显示带有复选框选项的combobox。 请提供任何解决方案。 我试过下面的代码 它会像这样输出 任何人都可以帮助加载combobox中的项目集合并更正我的代码。 CS代码: private void resultGrid_Loaded(object sender, RoutedEventArgs e) { var programs = new List(); programs.Add(new Programs(“test”, false)); programs.Add(new Programs(“test1”, false)); programs.Add(new Programs(“test2”, true)); //var grid = sender as DataGrid; resultGrid.ItemsSource = programs; Combo.ItemsSource = programs; } 而型号: public class Programs { public Programs(string Program, bool IsChecked) { this.Program = Program; this.IsChecked […]

c#和日期选择器,如何更改格式?

我在C#4.0(WPF)应用程序中有一个日期选择器,我想将textBox中可见日期的格式更改为yyyy / MM / dd。 现在我看到格式dd / MM / yyyy。 在我的datePicker的axml中我有这个代码: 这似乎是第一次一切正常,我可以看到我想要的格式的日期,我可以手动或使用日历更改日期,并以两种方式到达viewModel的日期是正确的。 但我有一个问题,因为我想检测一下,如果日期为空,在我的视图模型中控制这种情况。 但是如果我清除了datepicker,在我的视图模型中到达了最后一个正确的日期,所以我无法检查日期是否为空。 那么如何修改日期选择器中日期的格式并控制日期是否为空/空? 谢谢。 Daimroc。