小编Pea*_*nut的帖子

wpf - 无论新值如何,属性更改时触发datatrigger

我正在尝试在datagrid单元格的值更改时在数据网格中的单元格上执行动画.

datagrid本身绑定到普通旧CLR对象的ObservableCollection.在这种情况下,假设对象是具有"名字","姓氏"和"年龄"属性的"人物"对象.'Person'类实现了INotifyPropertyChanged接口,每个属性都在其setter中对onPropertyChanged进行了适当的调用.

这一切都很好.在datagrid定义中,我设置了我的DataTemplate来绘制每个单元格并附加了一个datatrigger ......如下所示:

<DataGridTemplateColumn Header="FirstName">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Border Name="templateBorder">
                <TextBlock Name="templateTextBlock" Text="{Binding Path=FirstName}" />
            </Border>
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding Path=FirstName}" Value="Richard">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard AutoReverse="True">
                                <DoubleAnimation Storyboard.TargetName="templateTextBlock" Storyboard.TargetProperty="Opacity" To=".1" Duration="0:0:.5" />
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                </DataTrigger>
            </DataTemplate.Triggers>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

当我的ObservableCollection中的对象更新(我更改了FirstName值)时,数据网格会更新.根据上面的例子,如果我将FirstName的值更改为'Richard',那么动画也可以正常执行.

我的问题是我需要运行我的动画,无论Firstname的新值是什么.我已经爬网了,但有些人似乎只能找到触发已知值的触发器的例子,例如当FirstName是'Richard'时触发,就像我在我的例子中所展示的那样.

我的问题是,无论更新属性的值如何,我如何触发数据触发器?因此,基本上如何在为数据网格中的给定行更新FirstName属性时触发数据触发器.

非常感谢.

wpf datagrid datatrigger

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

.net动态程序集

我最近被问到是否对.Net中的动态装配有所了解.简短的回答是 - 我没有.

我发现了很多描述如何创建动态程序集的文章,但没有一篇文章真实地解释了以下内容:

  • 他们是什么(除了直接从记忆中运行)
  • 它们比静态组件有什么优势
  • 真实世界的用法示例

对上述任何解释都将非常感激.

非常感谢.

.net dynamic-assemblies

18
推荐指数
2
解决办法
6088
查看次数

您使用f#的代码区域是什么?

对于那些使用f#的人来说,你使用它编写了哪些功能区域?什么是非常适合的语言,它与c#相比具有更强大和更轻松的功能?

.net f# functional-programming

14
推荐指数
4
解决办法
2964
查看次数

c# - 将时间值舍入到最接近的四分之一小时

有没有人有一个很好的方法来将0到59之间的数字向下舍入到最近的15.我正在使用C#3.5.

所以......

  • 1将是0
  • 29将是15
  • 30将是30

等等

非常感谢.

c# rounding

9
推荐指数
3
解决办法
1万
查看次数

推荐用于C#4.0的多线程/并行计算书籍

我想开始阅读C#/ .Net 4.0中的多线程和并行计算.

我理解多线程的基础知识,所以我正在寻找的东西不仅仅是基础知识.我也在寻找与.Net 4.0中的变化最新的东西.

你能推荐一本书吗?

非常感谢.

.net c# parallel-processing multithreading

9
推荐指数
2
解决办法
3423
查看次数

F#会成为主流语言吗?

我对F#提供的内容非常感兴趣,我非常希望开始学习它所需的基于时间的投资.然而,F#工作将开始实现还是浪费投资?

f#

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

静态类优于使用Singleton的优点

重复

单身人士怎么了?
单身人士:好的设计还是拐杖?
Singleton:应该如何使用单身人士有
什么不好的


您可以找到在Static类上使用Singleton的众多原因.但肯定会有一些情况,在Singleton之前使用静态类会更好.这些是什么?

singleton static class

8
推荐指数
3
解决办法
6580
查看次数

c#退出使用lambda的泛型ForEach

有谁知道是否有可能退出使用lambda的通用ForEach?例如

someList.ForEach(sl =>
  {
    if (sl.ToString() == "foo")
        break;

    // continue processing sl here
    // some processing code
  }
);
Run Code Online (Sandbox Code Playgroud)

这段代码本身不会编译.我知道我可以使用常规foreach但为了保持一致性我想使用lambda.

非常感谢.

c# generics foreach lambda break

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

复制Java ResultSet

我有一个java.sql.ResultSet我需要更新的对象.但是,结果集不可更新.不幸的是,这是我正在使用的特定框架的约束.

我在这里想要实现的是从数据库中获取数据,然后操纵少量数据,最后将数据写入CSV文件.

在这个阶段,我认为我最好的选择是创建一个新的结果集对象,并将原始结果集的内容复制到新的结果集中,然后像我一样操作数据.

但是,我在谷歌上追求高低,似乎无法确定如何做到这一点,或者它是否甚至可能.

我是Java的新手,所以任何帮助都会感激不尽.

java jdbc resultset

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

如何淡出文本,更改文本并将其淡入?

我在datatemplate中为数据网格中的单元格使用TextBlock.我有一个要求,说明当单元格的值发生变化时,文本应该:

  • 在改变之前淡出
  • 价值应该改变
  • 再次淡出

目前,我使用TargetUpdated RoutedEvent触发动画,使文本逐渐消失然后再返回.但是,在文本已经改变屏幕上的值之后发生淡入淡出.

<DataTemplate>
    <Border>
        <TextBlock Name="templateTextBlock" Text="{Binding Path=FirstName, NotifyOnTargetUpdated=True}" />
    </Border>
    <DataTemplate.Triggers>
        <EventTrigger RoutedEvent="Binding.TargetUpdated">
            <BeginStoryboard>
                <Storyboard AutoReverse="True">
                    <DoubleAnimation Storyboard.TargetName="templateTextBlock" Storyboard.TargetProperty="Opacity" To=".1" Duration="0:0:.5" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </DataTemplate.Triggers>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

我的问题是如何实现所需的效果 - 淡出,更改文本,淡入?

非常感谢.

wpf animation fade textblock

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