- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试为 GroupStyle
控件模板中的控件设置 AutomationProperties.Name
属性,但它似乎没有产生任何结果。我在我的模板中的 Expander
上设置了它,但即使我只是在没有绑定(bind)的情况下输入一些文本,它也什么也没说。我还尝试在 GroupItem
上放置一个 setter,但也没有用。我有点不知所措。我希望组项目上的属性能够解决它。
XAML:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication8.MainWindow"
x:Name="win"
Title="MainWindow"
Width="640"
Height="480">
<Grid x:Name="LayoutRoot">
<ListBox x:Name="lstbx"
Margin="71,45,99,78"
ItemsSource="{Binding ElementName=win,
Path=Samples}">
<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="AutomationProperties.Name"
Value="this is a test" />
<Setter Property="KeyboardNavigation.TabNavigation"
Value="Cycle" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander Name="templateLstBxExpander"
AutomationProperties.Name="test test test"
IsExpanded="True">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<Label Name="templateLstBxExpanderHeader"
Content="{Binding Path=Name}"
FontWeight="Bold" />
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListBox.GroupStyle>
</ListBox>
</Grid>
</Window>
XAML.cs:
using System;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace WpfApplication8
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public static readonly DependencyProperty sampleProperty = DependencyProperty.Register(
"Samples", typeof(ObservableCollection<sample>), typeof(MainWindow), new PropertyMetadata(new ObservableCollection<sample>()));
public ObservableCollection<sample> Samples
{
get
{
return (ObservableCollection<sample>)this.GetValue(sampleProperty);
}
set
{
this.SetValue(sampleProperty, value);
}
}
public MainWindow()
{
this.InitializeComponent();
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(lstbx.ItemsSource);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("Location");
view.GroupDescriptions.Add(groupDescription);
sample test = new sample();
test.Location = "one";
test.Name = "blah blah";
Samples.Add(test);
sample test2 = new sample();
test2.Location = "two";
test2.Name = "ya ya";
Samples.Add(test2);
}
}
}
示例.cs:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace WpfApplication8
{
public class sample
{
public string Name { set; get; }
public string Location{ set; get; }
}
最佳答案
问题实际上是屏幕阅读器应该如何达到该值。可以通过 MSAA 从游标访问组项,但不能通过 UIA。 UIA 是用于 WPF 中辅助功能的主要 API。
UIA 和 WPF 的核心问题是,当尝试读取通过光标找到的控件时(其他方式是焦点和插入符号),通常返回主窗口。
作为屏幕阅读器的开发者,处理此问题的最佳方法是同时使用 MSAA 和 UIA。如果 UIA 未返回任何有值(value)的内容,则回退到使用 MSAA。
关于c# - 屏幕阅读器 WPF Groupstyles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19326107/
我有一个 ListView 控件绑定(bind)到 ListCollectionView在 View 模型中。 我想尝试对这些项目进行分组,但遇到了一些问题。 我将 VM 中的属性分组设置为开头,然后
我想在我的样式中设置 DataGrid.GroupStyle,这样它对于所有数据网格都是相互的,而不是在我的 View 文件中,我需要在其中分别为每个数据网格设置它。这就是我现在拥有的:
我有一个 Windows Phone 8.1 WinRT 应用程序。我正在使用 SemanticZoom + ListView 组合通过 CollectionViewSource 显示分组列表。 当我
我正在尝试为 GroupStyle 控件模板中的控件设置 AutomationProperties.Name 属性,但它似乎没有产生任何结果。我在我的模板中的 Expander 上设置了它,但即使我只
我尝试列出几个应该在三个不同组中可视化的数据项: 仪表板 家政 科学 使用 MVVM (Model-View-ViewModel) 设计模式,我制作了两个模型类: 数据组.cs public clas
在Windows通用平台上的ListViews中,当您使用ListView分组时,组标题下方有一条丑陋的分隔线。甚至微软自己也在他们的应用程序中删除了这一行。在实时可视化树中,您可以看到它是 Grid
我正在尝试使用 GroupStyle 但不是将组名显示为列表中项目的标题,它只显示标题而不是项目。 在我对列表应用特殊样式之前,它工作正常。然后我认为这种风格很假,所以我为这种效果创建了一个 User
好的,这是我非常简单的问题。 我有一个 ListView我的样式是为了使它看起来像 Windows 资源管理器。 现在,我想将里面的项目分组。因此,我定义了一个 GroupStyle与 Expande
我正在尝试为 ContexMenu 设置默认样式,并且我想在样式内将默认 GroupStyle 设置为 ContexMenu。像这样的东西:
我有一个 ItemsControl绑定(bind)到 CollectionViewSource绑定(bind)到 View 模型上的属性。 ItemsControl有一个 GroupStyle设置如下
我正在将 Windows Phone 应用程序移植到 Windows 应用商店并尝试创建分组的 ListView。有一个good article在开发中心对列表进行分组是没有问题的。但是我对 Grou
我试图在包含扩展器和标题的 ListView 中显示不同的组。但是,如果组仅包含 1 个项目,我不希望我的 SecondLevel 组显示标题。因为这会很不方便。我的代码:
我编写了一个 ListView使用 xaml,mvvm 报告,它工作得很好。 xaml 代码部署 ListView.GroupStyle生成的报告有一个组标题、项目列表和组总计和计数。 它看起来像这样
如何在运行时根据某些条件在 ListView 的 GroupStyles 之间切换?例如,我需要对具有 GroupStyle header 名称为 null 的项目使用 Default,如果它不为 n
我正在尝试创建一个 Style 来为我的 ListBox 控件设置 GroupStyle 属性,但是我遇到了编译时错误: The Property Setter 'GroupStyle' cannot
我想在列表框中按创建日期对我的项目(图像)进行分组。然后我只使用这段代码: 但是 当我尝试应用某些样式(即边框)时,我没有显示任何组名。只有边框这是我使用 DateTim
我对 GroupStyle 和 Expander.IsExpanded 绑定(bind)有疑问。我的代码基于这个答案:How to save the IsExpanded state in group
有人可以将此 XAML 重写为 C# 代码吗?
我正在尝试创建一个 ListView分组,其中每组中的元素水平显示(作为可滚动内容)。无论我如何尝试 GroupStyle.Panel的ListView它似乎对列表没有任何影响。 这是我的 XAML
我有一个带有多个标题的 WPF 列表框。我通过使用 GroupStyle 来实现这一点,我在其中定义了每个 header 的外观:
我是一名优秀的程序员,十分优秀!