小编EEA*_*LNT的帖子

WPF图像控件:一旦在代码中修改了Source,触发器就停止工作

更改WPF图像控件的“源”属性时遇到一些问题。

我定义了三个图像源:

<Window.Resources>
    <BitmapImage x:Key="eyeSelImage" UriSource="/Images/eye-Sel.png" />
    <BitmapImage x:Key="eyeSelHlImage" UriSource="/Images/eye-SelHl.png" />
    <BitmapImage x:Key="eyeDisabled" UriSource="/Images/eye-Disabled.png" />
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

我的图像定义如下所示:

<Image x:Name="testImage" Width="100" Height="100">
    <Image.Style>
        <Style TargetType="{x:Type Image}">
            <Setter Property="Source" Value="{StaticResource eyeSelImage}"/>
            <Style.Triggers>
                <Trigger Property="IsEnabled" Value="False">
                    <Setter Property="Source" Value="{StaticResource eyeDisabled}"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
</Image>
Run Code Online (Sandbox Code Playgroud)

它按预期工作。如果禁用了图像控件,则图像会更改。一旦启用,它就会变回来。我通过制作一个按钮(btn_DisableEnable)进行了测试,单击该按钮时,将切换“ testImage”的“ IsEnabled”属性。

但是,一旦我在代码中更改了“ testImage”图像控件的“ Source”,“ IsEnabled”触发器似乎就会停止工作。我做了另一个按钮,并在其“ Click”事件处理程序中执行以下操作:

BitmapImage tempImage = new BitmapImage();
tempImage.BeginInit();
tempImage.UriSource = new Uri("pack://application:,,,/testApp1;component/Images/eye-SelHl.png");
tempImage.EndInit();
testImage.Source = tempImage;
Run Code Online (Sandbox Code Playgroud)

按下此按钮后,图像的来源将正确更改为'eyeSelHlImage'资源。但是,单击“ btn_DisableEnable”后,图像不再更改为禁用的表示形式。

可能是什么问题呢?非常感谢所有帮助。

谢谢!

c# wpf

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

如何唯一识别计算机程序?

我有一个更普遍的问题,但是在C#中实现这一点的任何建议也将非常受欢迎.我在C#中制作一个基于PC窗口的程序,并且想法是,当程序运行的计算机连接到互联网时,该程序将少量数据发送到位于服务器某处的数据库.PC程序将被许多人使用,但我希望能够知道哪个用户(哪个程序)发送了数据.所以,我会在那里放一个程序供人们下载和安装.然后,该程序将一些数据(取决于用户在程序中执行的操作)发送到中央数据库,并且我想知道哪些程序发送了数据.这样我可以看到程序的哪些功能被最多使用,有些人大多使用一个或多个功能,...

因此,问题是,如何制作一个程序,但能够区分该程序的不同"实例"?

有没有人有任何想法如何实现这一目标?

提前感谢您的所有答案.干杯!

ps:我应该提一下,我刚开始学习PC编程,所以尽量让初学者也能理解答案.:)

c# database

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

标签 统计

c# ×2

database ×1

wpf ×1