Tag: wpf

MVVM和VM的集合

一个常见的senario:一个包含一系列项目模型的模型。 比如有一群人的房子。 如何正确地为MVVM构造 – 特别是关于使用添加和删除来更新Model和ViewModel集合? Model House包含模型People (通常是List<People> )的集合。 查看模型HouseVM包含它封装的House对象和视图模型PeopleVM ( ObservableCollection<PeopleVM> )的ObservableCollection<PeopleVM> 。 请注意,我们最后在HouseVM中持有两个集合(需要同步): 1. HouseVM.House.List<People> 2. HouseVM.ObservableCollection<PeopleVM> 当House更新为新的People(add)或People leave(remove)时,现在必须在两个集合中处理Model House People集合和 VM HouseVM PeopleVM ObservableCollection。 这个结构是否正确的MVVM? 是否有避免必须执行添加和删除的双重更新?

跨多个Xaml文件分割WPF界面

我正在尝试使用XAML创build用户界面。 但是,该文件正在迅速变得非常大,难以处理。 什么是最好的方式分裂它跨越几个文件。 我想能够将一个元素,如一个combobox的内容设置为一个不同的xaml文件(但在同一VS项目)定义的元素。 谢谢

WPF命令与事件优点/缺点

任何人都可以告诉我在WPF中使用命令vs事件的优点。 命令或事件是否运行到内存泄漏? 什么是最快的方法。 他们的缺点是什么?

什么是正确的方式来处理WPF窗口?

我有一个WPF窗口,我从另一个窗口创build,show()ing,然后让它closures()本身。 当窗口closures,我期望它死了,调用它的构造函数,并删除所有的子元素(如定时器..)。 调用这种行为的正确方法是什么?

如何在宽度上拉伸一个WPF用户控件到其窗口?

我有我的用户控件的窗口,我想使用户控件宽度等于窗口宽度。 怎么做? 用户控件是一个水平菜单,包含一个三列的网格: <ColumnDefinition Name="LeftSideMenu" Width="433"/> <ColumnDefinition Name="Middle" Width="*"/> <ColumnDefinition Name="RightSideMenu" Width="90"/> 这就是我想要窗口宽度的原因,将用户控件拉伸到100%的宽度,与第二列相对。 编辑: 我正在使用网格,有窗口的代码: <Window x:Class="TCI.Indexer.UI.Operacao" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:tci="clr-namespace:TCI.Indexer.UI.Controles" Title=" " MinHeight="550" MinWidth="675" Loaded="Load" ResizeMode="NoResize" WindowStyle="None" WindowStartupLocation="CenterScreen" WindowState="Maximized" Focusable="True" x:Name="windowOperacao"> <Canvas x:Name="canv"> <Grid> <tci:Status x:Name="ucStatus"/> <!– the control which I want to stretch in width –> </Grid> </Canvas> </Window>

在什么情况下冻结WPF对象大大有利于性能?

WPF中的许多types都来自Freezable 。 它为可变的POCO对象提供了不变性,并且显然允许在某些情况下提高性能。 有没有人发现,冻结WPF应用程序中的对象已经大大提高了性能? 如果是这样,那么哪个项目在冻结时最大的性能差异? (请注意,我也发布了一个类似但不同的问题 )

x:在xaml中的含义

我看到很多声明 <TextBox x:Name="txtInput" /> 或者像 <BooleanToVisibilityConverter x:Key="boolToVis" /> 为什么x:是需要的,它给了我什么。 <DockPanel.Resources> <c:MyData x:Key="myDataSource"/> </DockPanel.Resources> 在这里,我们也有c: 感谢帮助

如何在WPF中build立垂直标签集?

如何在WPF中build立垂直标签集? 这些选项卡将从上到下堆叠,就像Visual Studio中显示的项目的“属性”一样。

显示黑色的WPFpopup式UI

我正在使用WPF Popup控件,并将背景显示为黑色。 我把一个StackPanel里面的背景=“透明”,但这并没有帮助。 <Popup PlacementTarget="{Binding ElementName=parentStackPanel}" Placement="Center" IsOpen="False" Name="m_popWaitNotifier" PopupAnimation="None" AllowsTransparency="False"> <StackPanel Orientation="Vertical" Background="Transparent"> <uc:CircularProgressBar x:Name="CB" StartupDelay="0" RotationsPerMinute="20" Height="25" Foreground="White" Margin="12"/> </StackPanel> </Popup> 有人可以告诉我如何使背景popup透明(或任何颜色)?

WPF中是否存在form.onload?

我想在WPF中运行一个窗体的代码。 是否有可能做到这一点? 我无法find在哪里编写onload的代码。 从下面的回答来看,似乎我所要求的并不是通常在WPF中所做的事情? 在Vb.Net的winforms很容易,你只要去onload事件,并添加你需要加载运行的代码。 无论出于何种原因,在C#WPF中看起来非常困难,或者没有标准的方法来做到这一点。 有人可以告诉我什么是这样做的最好方法?