Tag: wpf

在WPF中,触发器的顺序是否重要?

我有以下xaml: <DockPanel> <DockPanel.Resources> <Style TargetType="Button"> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Foreground" Value="Yellow"></Setter> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter Property="Foreground" Value="Green"></Setter> </Trigger> </Style.Triggers> </Style> </DockPanel.Resources> <Button Content="Cut" Height="30" Width="75"/> </DockPanel> 发生什么事情是,当我将鼠标放在button上时,前景变为黄色,然后当按下button时,前景变为绿色。 现在,如果我将XAML中的触发器的顺序颠倒过来,当将鼠标移到XAML上时,前景变为黄色,但是当按下button时,前景不会变为绿色。 这是什么解释? 是否触发了另一个触发器?

WPF DataGrid:使单元格只读

我使用下面的DataGrid <DataGrid Grid.Row="1" Grid.Column="1" Name="Grid" ItemsSource="{Binding}" AutoGenerateColumns="False" > <DataGrid.Columns> <DataGridTextColumn Header="Name" Width="100" Binding="{Binding Path=Name}"></DataGridTextColumn> <DataGridTextColumn Header="OldValue" Width="100" Binding="{Binding Path=OldValue}"></DataGridTextColumn> <DataGridTextColumn Header="NewValue" Width="100*" Binding="{Binding Path=NewValue}"></DataGridTextColumn> </DataGrid.Columns> </DataGrid> 我怎样才能使细胞只读?

WPF TextBlock和TextBox有什么区别吗?

在select这两个控件之一时,我必须考虑什么标准?

WPF ICommand与RoutedCommand

让我们有一个buttonCommand属性绑定到自定义命令。 什么时候应该实现ICommand并从RoutedCommand派生? 我看到RoutedCommand实现了ICommand 。 在这种情况下,我需要实现一个ICommand ? 那么MVVM模型呢? 哪一个更适合这个目的?

WPF TextBlock字体resize以填充网格中的可用空间

我有一些在运行时显示在文本块中的文本。 我希望字体大小是填充所给区域的最大尺寸。 我认为我有正确的文本块设置“autosize”,我试图增加字体大小,直到文本块比它的父母,然后减less字体大小1.问题是我无法得到控制重绘/重新计算其大小。 是一个更好的方法来做到这一点? 或者有什么方法可以使我的方法工作?

绑定datagrid列可见性MVVM

.Net 3.5 我知道列不会inheritancedatacontext,并通过阅读其他职位,我认为这将工作: Visibility="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(FrameworkElement.DataContext).IsColumnNameVisible, Converter={StaticResource boolToVisConverter}}" 然而,当然它不..输出窗口不抱怨,似乎是我find的资源,但viewmodel属性是较新的调用。 这是整个DG: <tk:DataGrid VirtualizingStackPanel.IsVirtualizing="False" Grid.Column="0" AlternationCount="2" AreRowDetailsFrozen="True" AutoGenerateColumns="False" Background="Transparent" BorderThickness="0" CanUserAddRows="False" CanUserReorderColumns="True" CanUserResizeRows="False" GridLinesVisibility="None" ItemsSource="{Binding Employees}" SelectionMode="Single" ColumnHeaderStyle="{StaticResource columnHeaderStyle}" RowHeaderStyle="{StaticResource rowHeaderStyle}" CellStyle="{StaticResource cellStyle}" RowStyle="{StaticResource rowStyle}" ContextMenu="{StaticResource columnHeaderContextMenu}"> <tk:DataGrid.Resources> <ContextMenu x:Key="columnHeaderContextMenu" ItemsSource="{Binding ColumnHeaderContextMenuItems}" /> <Style TargetType="{x:Type ScrollBar}"> <Setter Property="Background" Value="Transparent"/> </Style> <Style TargetType="{x:Type tk:DataGridColumnHeader}"> <Setter Property="Background" Value="Transparent"/> […]

使WPF文本框绑定每个新的字符触发?

如何在文本框中input新字符后立即进行数据绑定更新? 我正在学习WPF中的绑定,现在我陷入了一个(希望)简单的事情。 我有一个简单的FileLister类,您可以在其中设置Path属性,然后当您访问FileNames属性时,它将为您提供文件的列表。 这是这个class级: class FileLister:INotifyPropertyChanged { private string _path = ""; public string Path { get { return _path; } set { if (_path.Equals(value)) return; _path = value; OnPropertyChanged("Path"); OnPropertyChanged("FileNames"); } } public List<String> FileNames { get { return getListing(Path); } } private List<string> getListing(string path) { DirectoryInfo dir = new DirectoryInfo(path); List<string> result […]

XAML中的#region

我其实不喜欢我的代码中的#region。 但由于某种原因,我叫我疯了,我想在他的XAML。 我想整个部分有一个像区域的东西,并将其折叠(例如我的<Window.CommandBindings>,<Grid。* Definitions>,<Menu>,<Toolbar>等)。 这是否存在? 如果不是,那么<RegionCollapse>如何?

'clr-namespace'URI是指一个不包含在程序集中的名字空间

我试图在我的XAML中包含一些转换值的类。 但是,编译时出现以下错误: 未定义的CLR名称空间。 'clr-namespace'URI指的是一个不包含在程序集中的命名空间'View.Summary.Converters'(View \ View) 和XAML错误: xmlns:c="clr-namespace:View.Summary.Converters" 另外,这里是我的转换类/名称空间的大纲: namespace View.Summary.Converters { class CollapsedIfNegative : IValueConverter { } class VisibleIfNegative : IValueConverter { } class ErrorCodeToString : IValueConverter { } } 我不得不删除代码的内容,因为我正在进行的项目是高度机密的。

如何更改vs2012中的XAMLdevise器的背景颜色?

我只是试着在Designer中查看XAML代码后的结果。 然而,当我在vs2012中使用黑暗的主题时很难辨认黑色字母。 我的问题是如何将devise师背景更改为白色,而无需修改黑暗的主题。 似乎改变工具的几个选项? 谢谢