小编Sam*_*Dev的帖子

Screenreader WPF Groupstyles

我试图AutomationProperties.NameGroupStyle控件模板中设置控件的属性,它似乎什么也没产生.我把它设置Expander在我的模板中,但即使我只是放入一些没有绑定的文本,它也没有任何说明.我也试过把一个二传手放在上面GroupItem,但也没用.我有点失落.我希望小组项目上的属性可以解决它.

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>
Run Code Online (Sandbox Code Playgroud)

XAML.cs: …

c# wpf automation screen-readers

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

Viewport2DVisual3D创建的框架不可见

大家好,我有一个框架代码

<Frame Name="wow" Width="1200" Height="600" ></Frame>
Run Code Online (Sandbox Code Playgroud)

当我点击a时button,它会加载一个url

wow.Source=(new Uri("http://www.google.com"));
Run Code Online (Sandbox Code Playgroud)

当我把它扔进一个时它起作用grid,看起来很好但是当我将它扔进一个viewport2dvisual3d容器时,它不会出现.

  <Viewport2DVisual3D.Visual >
    <Grid Width="1200" Height="600" Name="frontPanel" Background="Blue">
      <Frame Name="wow" Width="1200" Height="600" ></Frame>            
        </Grid>                   
          </Viewport2DVisual3D.Visual>
Run Code Online (Sandbox Code Playgroud)

frame甚至不可见.我确实看到我的鼠标改变为加载符号几秒钟,但我似乎仍然无法看到框架.

这是一个错误吗?或者我必须做些什么来使框架出现在viewport2dvisual3d视口3d中?

wpf viewport3d frame visible

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

ListView 不拉伸以适应内容 WPF XAML

大家好 我想弄清楚为什么我的内容不会水平拉伸以适合我的ListView项目。我已经HorizontalContentAlignment设置为拉伸,我在第二页上使用了几乎这个精确的布局,内容在第二页上拉伸。所以不完全确定发生了什么以及为什么内容不会伸展。

这是我正在谈论的图片 在此处输入图片说明

这是代码

 <Border>
    <Border.Background>
        <ImageBrush ImageSource="/Backgrounds/BlueWaveBackground.jpg"/>
    </Border.Background>
    <Grid>
        <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" HorizontalAlignment="Center" >
            <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" TextBlock.TextAlignment="Center">
                <Border CornerRadius="10" 
                        Background="{StaticResource ForegroundLightBrush}"
                        Padding="15 10 15 15" 
                        Width="700" 
                        Margin="50 50 50 0">
                    <StackPanel>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="auto"/>
                                <ColumnDefinition/>
                                <ColumnDefinition Width="auto"/>
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>
                            <!--First Last Username-->
                            <StackPanel Grid.Column="0" HorizontalAlignment="Center">
                                <TextBlock Text="First Name:" Margin="0 10 10 0" />
                                <TextBlock Text="Last Name:" Margin="0 14 10 0" />
                                <TextBlock Text="Username:" Margin="0 16 10 0"/>
                            </StackPanel>

                            <StackPanel Grid.Column="1" Orientation="Vertical" > …
Run Code Online (Sandbox Code Playgroud)

wpf xaml listview gridview alignment

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

将 ListView 字段绑定到嵌套列表 WPF

我有以下课程:

class Event {
int eserc {get;set;}
int type {get;set;}
}

class Sequence {
List<Event> events;
int freq {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我在 Sequence 中有一个事件列表。我有一个序列列表。
我想用带有序列列表的GridView显示ListView。对于每个序列,我希望有 2 列,一列具有属性freq的值,另一列应具有与该序列关联的事件列表。例如:在此处输入图片说明
其中第一行与第一个序列相关。矩形的颜色代表事件的类型。在第一个序列中有以下事件:

  • 类型为“红色”的 esrc 1
  • “红色”类型的 esrc 2
  • “绿色”类型的 esrc 3
  • “红色”类型的 esrc 4

我知道我必须绑定到显示值,但我不知道如何为序列绑定,因为我应该将列的值绑定到每个单个Sequence中的Event对象的值。这是我为ListView编写的代码:

<ListView Name="resultsList" Grid.Row="5" Grid.Column="1"
                  Grid.ColumnSpan="3">
    <ListView.View>
                <GridView>

            <GridViewColumn Header="Sequence" Width="450"
                                    DisplayMemberBinding="{Binding events}"/>
            <GridViewColumn Header="Frequence" 
                                    DisplayMemberBinding="{Binding freq}"/>
        </GridView>
    </ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)

当然,绑定事件是错误的,因为只有当它是一个字符串时才会起作用,但这就是想法。
我在互联网上搜索,我认为我应该使用类似DataTemplate 的东西,但我不确定这一点,我不太明白它是如何工作的。我知道当源是一个对象时它可以工作,但在这种情况下它是一个对象列表,我不知道如何获取信息。

c# data-binding wpf listview

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

ProgressBar 2种颜色

ProgressBar在C#中的WPF中有一个问题.我希望我的progressBar意志有两种颜色.例如,我将他的最大值设置为25,并且在第七次和第五次迭代中出现问题,我希望它在我的红色中progressbar.我添加了示例图片我想要获得的内容.

在此输入图像描述

c# wpf progress-bar

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

DataGridCheckBoxColumn的WPF绑定未更新

我想弄清楚如何正确处理DataGridCheckBoxColumn.我有一个包含"发布"选项的数据列表.选中时,对象将被标记为发布到其他服务器.到目前为止,我所拥有的是:

<DataGrid x:Name="grdEducationalPopups" 
              HorizontalAlignment="Left" VerticalAlignment="Top"
              Margin="19,155,0,0"                   
              AlternationCount="2"
              AutoGenerateColumns="False"
              ItemsSource="{Binding PopupCollection}"
              Loaded="grdEducationalPopups_Loaded"
              MinRowHeight="26"
              RowDetailsTemplate="{StaticResource RowDetailTemplate}" RowDetailsVisibilityChanged="grdEducationalPopups_RowDetailsVisibilityChanged" SelectionChanged="grdEducationalPopups_SelectionChanged" Grid.ColumnSpan="2">           
        <DataGrid.RowHeaderTemplate>
            <DataTemplate>
                <ToggleButton x:Name="RowHeaderToggleButton" Click="ToggleButton_Click" Cursor="Hand"/>                    
            </DataTemplate>
        </DataGrid.RowHeaderTemplate>
        <DataGrid.Columns>                
            <DataGridTextColumn Width="150" Binding="{Binding DisplayName}" Header="Form Name" IsReadOnly="True"/>
            <DataGridTextColumn Width="280" Binding="{Binding URLLocation}" Header="Page Address"/>
            <DataGridTextColumn Width="125" Binding="{Binding DateLastTouched}" Header="Date Modified" IsReadOnly="True"/>
            <DataGridTextColumn Width="125" Binding="{Binding DateRowAdded}" Header="Date Added" IsReadOnly="True"/>
            <DataGridCheckBoxColumn Header="Publish" Binding="{Binding Path=Publish}">
                <DataGridCheckBoxColumn.CellStyle>
                    <Style>
                        <EventSetter Event="CheckBox.Checked" Handler="OnChecked"/>
                    </Style>
                </DataGridCheckBoxColumn.CellStyle>
            </DataGridCheckBoxColumn>
        </DataGrid.Columns>
    </DataGrid>
Run Code Online (Sandbox Code Playgroud)

我确实有OnClick代码但它现在没有做任何事情,除了允许我检查值.我的发布列表中的值不会更改.false当应该为真时,给定记录的发布值仍然存在.如果我将默认值从false更改为true并启动我的应用程序,则会检查所有复选框,这是我所期望的.这告诉我,我的绑定是正确的.

如何正确管理用户更改,以便我可以适当地处理更改?在我的代码后面我得到一个DataGridCell对象,可以从那里确定行数据,我想编辑那些数据.但我认为绑定数据应该处理这个问题.

c# wpf

3
推荐指数
2
解决办法
3864
查看次数

Material Design - Wpf - 文本框 - 更改颜色

我在TextBox基于MaterialDesignTextBox静态资源的Wpf 应用程序中使用 Material Design

在此处输入图片说明

TextBox获得焦点时,线条颜色会通过 MaterialDesign 自动更改为另一种颜色:

在此处输入图片说明

我怎么能控制这个 TextBox的线条颜色?使用 setter 属性?在 setter 中需要更改哪些属性?顺便说一句,我为 textBox 更改了 BorderBrush 颜色,但它不起作用

我很感激任何帮助

wpf xaml material-design

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

使用 WiX 工具集升级服务时不要覆盖服务帐户

我正在尝试设置安装 Windows 服务并处理升级和更新的 WiX 安装程序。

安装程序就像一个魅力,用户在LocalSystem帐户下安装服务,然后服务工程师必须为该服务分配一个域帐户。

这是我的服务安装程序组件:

  <Component Id="my_exe_Component">
    <File Id="Myexe" Source="$(var.Myproject.TargetPath)" KeyPath="yes" />
    <ServiceInstall Id="my_exe" Type="ownProcess" Vital="no" Name="NME" DisplayName="My intaller" Description="My installer description" Start="auto" Account="LocalSystem" ErrorControl="ignore" Interactive="no">
      <util:ServiceConfig
        FirstFailureActionType="restart"
        SecondFailureActionType="restart"
        ThirdFailureActionType="restart"
        RestartServiceDelayInSeconds="0"
        ResetPeriodInDays="1"/>
    </ServiceInstall>
    <ServiceControl Id="my_exe" Stop="both" Remove="uninstall" Name="NME" Wait="yes" />
  </Component>
Run Code Online (Sandbox Code Playgroud)

当我对安装程序执行升级时,设置为服务的帐户会被覆盖回LocalSystem帐户,在执行升级时如何保留设置为我的服务的帐户?

我的升级条款是这样设置的:

 <MajorUpgrade AllowSameVersionUpgrades="yes" AllowDowngrades="no" DowngradeErrorMessage="A newer version of [ProductName] is already installed." Schedule="afterInstallExecute" />
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

installation windows-services wix

1
推荐指数
1
解决办法
258
查看次数

NumberFormatException 对于输入字符串“11111000000000000000”

我在Scala 中尝试了以下命令并得到了一个NumberFormatException,但我不知道为什么。这可能是一些基本的东西,但我当然会欣赏一双额外的眼睛。非常感谢!

"11111000000000000000".toLong

java.lang.NumberFormatException:对于输入字符串:"11111000000000000000" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Long.parseLong(Long.java:592) at java.lang.Long。 parseLong(Long.java:631) at scala.collection.immutable.StringLike$class.toLong(StringLike.scala:27​​6) at scala.collection.immutable.StringOps.toLong(StringOps.scala:30)
... 33 省略

java scala

-2
推荐指数
1
解决办法
504
查看次数