所以我可能只是稍微推动了界限......
基本上我有以下枚举,用C#代码声明:
[Flags]
public enum FlaggedEnum : int
{
Option1 = 1,
Option2 = 2,
Option3 = 4,
Option4 = 8,
...
Option16 = 32768,
None = 0
}
Run Code Online (Sandbox Code Playgroud)
此枚举是我已成功绑定到DataGrid对象的对象的成员.成功意味着我已成功绑定所有其他字段.:)
我想在这里实现的是一个控件,其中检查上面所有适当的选项,其行为和行为类似于ComboBox/ListBox.因此,您单击该字段并弹出一个下拉菜单,可以"检查"所需的任何选项.
控件还必须能够从枚举中读取并写入枚举.
我是WPF新手所以我不知道在哪里可以创建一个ComboBox并绑定到列...任何帮助将不胜感激!
我正在尝试为WPF Toolkit DataGrid控件构建一些简单的自定义样式.
我有一个整体DataGrid风格和风格DataGridColumnHeader.我没有设置任何控件模板,只有基本属性.
以下是我的示例DataGrid在应用自定义样式时的样子:
alt text http://img86.imageshack.us/img86/43/datagridcustomstyle.jpg
标题有渐变蓝色背景,粗体文本,填充等我想要,但有两件事情已经消失:列标题之间的分隔符和ID列的排序箭头(此列目前对其进行降序排序).
如果我没有搞乱任何控件模板,为什么分隔符和排序箭头会消失?
我甚至尝试明确设置SeparatorBrushto Black和SeparatorVisibilityto Visible,但这没有效果.
如果我恢复到默认样式,下面是我的示例DataGrid:
替代文字http://img42.imageshack.us/img42/6533/datagriddefaultstyle.jpg
分隔符和排序箭头又回来了,所以绝对是我的风格.
这是我的自定义DataGridColumnHeader样式
<Style
x:Key="DataGrid_ColumnHeaderStyle"
TargetType="wt:DataGridColumnHeader">
<Setter
Property="Padding"
Value="5,2,5,2" />
<Setter
Property="HorizontalContentAlignment"
Value="Stretch" />
<Setter
Property="VerticalContentAlignment"
Value="Stretch" />
<Setter
Property="FontWeight"
Value="Bold" />
<Setter
Property="BorderBrush"
Value="{StaticResource Media_RaisedBorderBrush}" />
<Setter
Property="Background"
Value="{StaticResource Media_RaisedBackgroundBrush}" />
<Setter
Property="Foreground"
Value="{StaticResource Media_RaisedForegroundBrush}" />
<Setter
Property="SeparatorBrush"
Value="Black" />
<Setter
Property="SeparatorVisibility"
Value="Visible" />
</Style>
Run Code Online (Sandbox Code Playgroud)
这是我的自定义DataGrid样式
<Style
x:Key="DataGrid_Style"
TargetType="wt:DataGrid">
<Setter
Property="ColumnHeaderStyle"
Value="{StaticResource DataGrid_ColumnHeaderStyle}" /> …Run Code Online (Sandbox Code Playgroud) 我想在WPF上启动一个新的应用程序.WPF中的新用户界面需要DataGridView控件和PropertyGrid控件.但看起来这两个控件在WPF中不存在,我想使用它来托管这两个控件WindowsFormsHost.
但是,如果我这样做,这种方法对任何人都有任何限制吗?
试图弄清楚如何使用EventToCommand为行设置datagrid双击处理程序.该命令位于每行的viewmodel中.我的经验就是这么多,因为我还没有使用过互动.
谢谢.
我会使用mvvmlight标签,但我还没有足够高的代表来制作新标签.
我正在尝试在出现验证错误时更改DataGridCell的默认样式(在WPF Toolkit DataGrid中).默认为红色边框.我怎样才能放置自己的模板?
谢谢.
我有一个BindingListCollectionView连接到数据网格的DataContext.datagrid现在显示BindingListCollectionView的项列表.但是当我点击最后一行添加一个新项目时.我得到一个"输入字符串格式不正确".例外.
当我通过WpfToolkit库使用调试器时,异常发生在EndUpdateSelectedItems()行的文件DataGrid.cs的private void MakeFullRowSelection(object dataItem,bool allowsExtendSelect,bool allowsMinimalSelect)函数中.
有人可以建议如何解决这个问题吗?
我有一个DataGrid,其FlowDirection设置为"RightToLeft".问题是当显示负数时,减号显示在另一侧.将单元格本身的FlowDirection设置为"LeftToRight"可以修复它,但是单元格的左边框向右移动,所以左边没有边框,右边有双边框.我怎样才能解决这个问题?
我有一个非常简单的wpftoolkit:datagrid来显示股市买入价和卖出价.
我的网格绑定了一个ObservableCollection<PriceViewModel>.我的PriceViewModel工具INotifyPropertyChanged.
网格正确更新,我已设法将背景颜色设置为动画,但在应用动画时间歇性.
下面是视图模型类的XAML和片段.
当价格更新低于前一个时,这个想法只是变成红色,而当它更高时,这个想法只是绿色......没什么太花哨的.
<WpfToolkit:DataGrid Name="PriceDataGrid" RowHeaderWidth="5"
AutoGenerateColumns="False" VerticalContentAlignment="Center" Margin="0,33,0,0" HorizontalAlignment="Left" Width="868">
<WpfToolkit:DataGrid.Columns>
<WpfToolkit:DataGridTemplateColumn Header="Bid" MinWidth="40">
<WpfToolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Bid}" Margin="3,1" x:Name="txtTextBlock">
<TextBlock.Background>
<SolidColorBrush Color="Transparent"></SolidColorBrush>
</TextBlock.Background>
</TextBlock>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding BidUp}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation
BeginTime="00:00:00"
Duration="0:0:0.1"
To="Green"
AutoReverse="True"
Storyboard.TargetName="txtTextBlock"
Storyboard.TargetProperty="(TextBlock.Background).(SolidColorBrush.Color)">
</ColorAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
<DataTrigger Binding="{Binding BidDown}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation
BeginTime="00:00:00"
Duration="0:0:0.1"
To="Red"
AutoReverse="True"
Storyboard.TargetName="txtTextBlock"
Storyboard.TargetProperty="(TextBlock.Background).(SolidColorBrush.Color)">
</ColorAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</WpfToolkit:DataGridTemplateColumn.CellTemplate>
</WpfToolkit:DataGridTemplateColumn>
<WpfToolkit:DataGridTextColumn Header="Ask" …Run Code Online (Sandbox Code Playgroud) 我必须VisualStateManager在我的WPF窗口中使用类,但由于我已经引用了两者 的程序集WPF Toolkit并且PresentationFramework.dll在我的项目中,C#无法解析VisualStateManager类并且给出编译错误,如" 两种类型中存在的类型"PresentationFramework.dll '和'WPFToolkit.dll' "我无法继续.
如何告诉C#编译器使用任何一个程序集中的VisualStateManager类并让项目成功编译?
我正在尝试通过进行Zoombox控制Xceed。不幸的是,鼠标滚轮或平底锅上没有任何反应。我在这里想念什么吗?
https://github.com/xceedsoftware/wpftoolkit
<Window x:Class="UI.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:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d"
Title="MainWindow" Height="800" Width="700">
<Grid>
<xctk:Zoombox MinScale="0.5" MaxScale="100" >
<Grid Width="600" Height="400" Background="Yellow">
<Ellipse Fill="Blue" />
</Grid>
</xctk:Zoombox>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud) wpftoolkit ×10
wpf ×7
datagrid ×4
c# ×3
wpfdatagrid ×3
xaml ×2
.net-4.0 ×1
animation ×1
c#-4.0 ×1
datagridcell ×1
datagridview ×1
enums ×1
flags ×1
mvvm ×1
mvvm-light ×1
propertygrid ×1
styles ×1
validation ×1
wpf-controls ×1
xceed ×1