标签: wpf-controls

wpf datagrid交替行着色

我试过这种方法..没有运气..

 <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 xaml styles wpf-controls wpfdatagrid

41
推荐指数
4
解决办法
4万
查看次数

38
推荐指数
4
解决办法
2万
查看次数

Grid的SharedSizeGroup和*大小调整

我有一个用户控件,称之为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 grid layout xaml wpf-controls

38
推荐指数
1
解决办法
4万
查看次数

在WPF中启用滚动条

我现在遇到问题,当窗口垂直太小时,我的WPF应用程序隐藏了任何东西.如何使用XAML为整个应用程序显示垂直滚动条,以便用户可以滚动查看其余内容?

wpf xaml wpf-controls

37
推荐指数
1
解决办法
5万
查看次数

获取listview的项目双击事件

为了引用listview控件的双击事件,我需要做什么?

.net c# wpf wpf-controls

37
推荐指数
6
解决办法
10万
查看次数

WPF(.NET 4)中是否有TimePicker控件?

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!感觉像星期一!

c# wpf datepicker wpf-controls

36
推荐指数
2
解决办法
7万
查看次数

带有ItemsControl和Grid的WPF动态布局

我正在创建一个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 grid dynamic itemscontrol wpf-controls

35
推荐指数
1
解决办法
2万
查看次数

如何使WPF按钮看起来像一个链接?

我想在WPF中使用像链接样式的按钮.Microsoft在其Windows对话框中执行此操作(看似不一致).

它们看起来像蓝色文字.并在鼠标光标悬停时更改颜色和下划线.

例:

Windows 7中的LinkBut​​ton

我搞定了.(感谢Christian,Anderson ImesMichaC)但是,我必须把一个TextBlock放在我的按钮内.

如何在不需要Button内的TextBlock的情况下改进我的风格?

用法XAML

<Button Style="{StaticResource HyperlinkLikeButton}">
    <TextBlock>Edit</TextBlock>
</Button>
Run Code Online (Sandbox Code Playgroud)

风格XAML

<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)

windows wpf xaml styles wpf-controls

34
推荐指数
3
解决办法
4万
查看次数

如何在wpf中使用MVVM处理ComboBox的SelectionChanged事件?

如何使用MVVM模式引发/处理SelectionChangedWPF的事件ComboBox
请详细解释,我是WPF的新手.

我想要的是在ComboBox项目选择改变时做一些操作.我怎样才能以MVVM的方式实现它?

wpf mvvm wpf-controls

33
推荐指数
4
解决办法
6万
查看次数

如何设置WPF窗口的位置?

我有一个列表视图,我在其中定义了一个自定义单元格作为用户控件.

在我给定用户超链接的自定义单元格中,当用户单击超链接时,我正在显示WPF对话框.

我希望WPF对话框位于超链接的正上方..

请让我知道如何实现这一点或如何设置对话框的位置,以便它只是超出超链接.

wpf wpf-controls

32
推荐指数
2
解决办法
8万
查看次数