我试过这种方法..没有运气..
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Foreground" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
有没有办法获得行索引?我甚至试过了
<DataTrigger Binding="{Binding AlternationIndex}" Value="0">
<Setter Property="Foreground" Value="Green"></Setter>
</DataTrigger>
Run Code Online (Sandbox Code Playgroud) 如何在wpf中的FormattedText中将一些文本设置为下标/上标
我有一个用户控件,称之为UserControl,它有一个包含以下列定义的网格:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="A"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="B"/>
<ColumnDefinition Width="*" SharedSizeGroup="C"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="D"/>
<ColumnDefinition MinWidth="30" Width="*" SharedSizeGroup="E"/>
<ColumnDefinition MinWidth="30" Width="*" SharedSizeGroup="F"/>
<ColumnDefinition Width="110" SharedSizeGroup="G"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="H"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="I"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="J"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="K"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="L"/>
</Grid.ColumnDefinitions>
Run Code Online (Sandbox Code Playgroud)
我还有MainWindow,它包含一个网格本身,在网格上定义了以下属性:
Grid.IsSharedSizeScope="True"
Run Code Online (Sandbox Code Playgroud)
现在,我在MainWindow的网格中添加了几个UserControl(每个都是一个单独的行).我的目标是让不同UserControls的每个列宽保持同步.除了一件事,使用SharedSizeGroup时一切正常.似乎任何宽度为*的列都不会表现得如此.看起来*列宽度设置为好像它们是Auto.
SharedSizeGroup和*大小调整是否有任何限制/问题?这似乎是保持列宽度同步的最佳方法,但我似乎无法解决这个问题.
谢谢.
我现在遇到问题,当窗口垂直太小时,我的WPF应用程序隐藏了任何东西.如何使用XAML为整个应用程序显示垂直滚动条,以便用户可以滚动查看其余内容?
WPF(.NET 4)中是否有TimePicker控件?
我希望DatePicker控件能够显示数据或时间或两者,但似乎并非如此.这些都适合我的账单:
Wednesday, February 8th, 2012 2:27 pm
Run Code Online (Sandbox Code Playgroud)
-要么:
2:27 pm
Run Code Online (Sandbox Code Playgroud)
(我将与DatePicker一起使用)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~
更新(尝试安装扩展WPF控件后):
这么多/它听起来/应该不那么容易.
当我尝试从http://wpftoolkit.codeplex.com/releases/view/71499下载扩展的WPF工具包时, 我进入了下载对话框:
http://download.codeplex.com/site/pagenotfound?ReferenceId=f1704e1d-3152-4ecf-b2bb-ace62735bcbc
(注意"找不到页面"部分 - 没有下载).
...然后我继续计划B并尝试下载/安装Nuget,因此我可以通过这种方式获得扩展的WPF工具包(通过工具|扩展管理器|在线图库|更新(1)| NeGet包管理器|下载).
我首先必须取消选中"保护我免受潜在恶意代码保护"的方框(或其他类似的东西 - 我尝试了它(两次!)而没有取消选中该复选框,并且两次都崩溃了); 然后(取消选中该框后)我在安装对话框中看到,"此扩展包含带有无效证书的数字签名."
无论如何我继续,最后安装了Nuget.
因此,重新启动Visual Studio 2010后,我转到了Tools | 库包管理器| 软件包管理器控制台,但遇到错误:软件包管理器控制台需要PowerShell 2.0运行时,这在此计算机上未检测到.请从http://support.microsoft.com/kb/968929安装PowerShell 2.0 并重新启动Visual Studio.rt Visual Studio."
然后,当我去安装该更新(WindowsXP-KB968930-x86-ENG.exe)时,我得到了"更新/ update.exe应用程序无法在Win32模式下运行." 它没能继续下去.
Achhh!感觉像星期一!
我正在创建一个WPF表单.其中一个要求是它具有基于扇区的布局,以便可以将控件明确地放置在扇区/单元之一中.
我在下面创建了一个tic-tac-toe示例来表达我的问题:
有两种类型和一种基本类型:
public class XMoveViewModel : MoveViewModel
{
}
public class OMoveViewModel : MoveViewModel
{
}
public class MoveViewModel
{
public int Row { get; set; }
public int Column { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
表单的DataContext设置为以下实例:
public class MainViewModel : ViewModelBase
{
public MainViewModel()
{
Moves = new ObservableCollection<MoveViewModel>()
{
new XMoveViewModel() { Row = 0, Column = 0 },
new OMoveViewModel() { Row = 1, Column = 0 },
new XMoveViewModel() { Row = 1, Column = 1 …Run Code Online (Sandbox Code Playgroud) 我想在WPF中使用像链接样式的按钮.Microsoft在其Windows对话框中执行此操作(看似不一致).
它们看起来像蓝色文字.并在鼠标光标悬停时更改颜色和下划线.

我搞定了.(感谢Christian,Anderson Imes和MichaC)但是,我必须把一个TextBlock放在我的按钮内.
如何在不需要Button内的TextBlock的情况下改进我的风格?
<Button Style="{StaticResource HyperlinkLikeButton}">
<TextBlock>Edit</TextBlock>
</Button>
Run Code Online (Sandbox Code Playgroud)
<Style x:Key="HyperlinkLikeButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HotTrackBrushKey}}" />
<Setter Property="Cursor" Value="Hand" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ControlTemplate.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="TextDecorations" Value="Underline" />
</Style>
</ControlTemplate.Resources>
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud) 如何使用MVVM模式引发/处理SelectionChangedWPF的事件ComboBox?
请详细解释,我是WPF的新手.
我想要的是在ComboBox项目选择改变时做一些操作.我怎样才能以MVVM的方式实现它?
我有一个列表视图,我在其中定义了一个自定义单元格作为用户控件.
在我给定用户超链接的自定义单元格中,当用户单击超链接时,我正在显示WPF对话框.
我希望WPF对话框位于超链接的正上方..
请让我知道如何实现这一点或如何设置对话框的位置,以便它只是超出超链接.
wpf ×10
wpf-controls ×10
xaml ×4
c# ×2
grid ×2
styles ×2
.net ×1
datepicker ×1
dynamic ×1
itemscontrol ×1
layout ×1
mvvm ×1
subscript ×1
superscript ×1
windows ×1
wpfdatagrid ×1