Tag: wpf

如何强制WPF启动窗口到特定的屏幕?

我有一个WPF应用程序,它将通过专用窗口显示有关投影仪的信息。 我想配置用于投影仪显示的屏幕以及用于主应用程序窗口的内容。 此代码将在指定屏幕上生成投影仪输出: var screen = GetProjectorScreen(); _projectorWindow = new ProjectorWindow(); _projectorWindow.Left = screen.WorkingArea.Left; _projectorWindow.Top = screen.WorkingArea.Top; _projectorWindow.Owner = _parentWindow; _projectorWindow.Show(); public static Screen GetProjectorScreen() { var screens = Screen.AllScreens; if (screens.Length > 1 && Settings.Default.DisplayScreen < screens.Length) { return screens[Settings.Default.DisplayScreen]; } return screens[0]; } 我试图用启动forms做同样的技巧,但到目前为止还没有成功。 我试图在MainWindow构造函数中设置Top和Left属性,但这不起作用。 通过设置StartupUri从App.xaml.cs启动启动窗口: StartupUri = new Uri(“Windows/MainWindow.xaml”, UriKind.Relative); 有没有其他方法来启动启动表单? 我试图只调用构造函数,但这会导致崩溃,因为某些资源不再被加载。

如何使WPF窗口响应

我正在使用Blend Expression,刚开始使用WPF。 我正在尝试制作一个窗口响应窗口,它可以容纳多个网格,并根据窗口大小重新resize到最小宽度。 它会像: 我的代码到目前为止: 我试过两件事,其中一件是Margin ,另一件是Width和Height使用’对齐’。 不确定哪个会解决我的目的,其次它会响应屏幕尺寸。 我使用*阅读有关动态网格的内容,但这似乎不适用于此。 谢谢,

如何根据DataContext属性获取更改TextBlock颜色的触发器?

为什么以下代码会出现运行时错误: Triggers集合的成员必须是EventTrigger类型 但EventTrigger元素没有Binding属性。 那么如何根据DataContext属性更改TextBlock的颜色? XAML: 码: namespace TestTriggers { public partial class Window1 : Window { public Window1() { InitializeComponent(); DataContext = this; Status = “off”; } public string Status { get; set; } } }

Treeview ContainerFromItem始终返回null

我已经阅读了关于这个主题的几个主题,但找不到任何可以做我想做的事情。 我有一个树视图绑定到一组分层的对象。 这些对象中的每一个都代表地图上的图标。 当用户单击地图上的其中一个图标时,我想在树状视图中选择该项目,将其聚焦,然后将其滚动到视图中。 map对象具有绑定到treeview的对象列表。 在示例中,Thing是绑定到树的对象的类型。 public void ScrollIntoView(Thing t) { if (t != null) { t.IsSelected = true; t.IsExpanded = true; TreeViewItem container = (TreeViewItem)(masterTreeView .ItemContainerGenerator.ContainerFromItem(t)); if (container != null) { container.Focus(); LogicalTreeHelper.BringIntoView(container); } } } 到目前为止,无论我尝试过什么,容器总是为空。 有任何想法吗?

BindingExpression路径错误:’object’上找不到属性

我一直在搜索出现在输出窗口中的这个错误。 我对WPF中的绑定很新,所以我确信有些东西我不见了。 错误的全文(每个绑定路径都有一个,都与此类似): System.Windows.Data错误:39:BindingExpression路径错误:’object”’String’(HashCode = -842352750)’上找不到’TestItem’属性。 BindingExpression:路径= TestItem; DataItem =’String’(HashCode = -842352750); target元素是’TextBlock’(Name =”); target属性是’Text’(类型’String’) 编辑:一切似乎都应该工作,但我在输出窗口中得到这些错误。 XAML: </ListView 代码背后: public class MyData : INotifyPropertyChanged { private string _testitem = “”; private string _information = “”; private string _passfail = “”; public string TestItem { get { return _testitem; } set { _testitem = value; OnPropertyChanged(“TestItem”); […]

关于ViewModel管理的问题(DesignTime与运行时间)

我有一个相当基本的WPF UI,用户请求导致我的TabControl中打开一个新选项卡。 TabControl绑定到ObservableCollection 我将ViewModel实例添加到此集合中,并根据以下模板显示相应选项卡的内容: 现在让我们说在UserUploads控件内部,我想在XAML中连接一个VM以帮助设计,如下所示: 此属性将在运行时返回具有实时服务的VM,并在设计时返回具有模拟数据的VM。 问题:这个XAML会干扰我在将TabItems内容绑定到ViewModel实例时所做的事情,并依赖上面的dataTemplate来呈现正确的View吗? 如果是这样,有没有办法让这两个概念一起工作?

禁用事件冒泡c#wpf

我遇到以下问题: 当我拿到两个标签时: This is a label into another label 以下代码: private void Label_MouseUp(object sender, MouseButtonEventArgs e) { Console.WriteLine(“Do NOT show me”); } private void Label_MouseUp_1(object sender, MouseButtonEventArgs e) { Console.WriteLine(“Show me”); } 当我点击“秒”时,我希望它只触发“Label_MouseUp_1”。 但在我的控制台中,我得到: 给我看看 不要告诉我 有没有办法关闭冒泡事件? (另外,“First”必须是可点击的,因此删除那里的事件并不能解决问题) 日Thnx

我可以从xaml过滤集合吗?

我有一个wpf-mvvm应用程序。 我的viewmodel中有一个可观察的集合 public ObservableCollection ImportMessageList { get; set; } “BatchImportResultMessageDto”包含两个属性.. 结果类型和消息。 结果类型可以是成功或失败。 我需要在一个列表框中显示成功..而在另一个列表框中显示失败。 我可以这样做..在viewmodel中有2个可观察的集合来保存成功/失败。 public ObservableCollection ImportFailureMessageList { get; set; } // To hold the failure messages. public ObservableCollection ImportSuccessMessageList { get; set; } // To hold the sucess messages. 但还有其他更好的方法,以便我可以过滤它(没有新的两个集合)?

如何覆盖richtextbox中的复制和粘贴

如何覆盖Richtextbox C#应用程序中的复制/粘贴function。 包括ctrl-c / ctrl-v和右键单击复制/粘贴。 这是WPF richtextBox。

如何在WPF中调用Windows主题?

嗨伙计我试图在WPF 3.5中为我的元素调用windows的当前主题。 当用户更改窗口主题时,我的应用程序也应根据主题进行更改。 我正在使用款式。 请帮我。