小编Gus*_*nti的帖子

WPF - 如何在按下CTRL + SHIFT时捕获?

当用户点击左边的CTRL + SHIFT左边我想使整个应用半透明(如VS2008的智能感知下拉).如果我在KeyUp事件上编写代码,我可以捕获被按下的两个键,但只有在按下键时才能激活透明效果.当它们被释放时,不透明度应该回到100%.我想要的行为实际上是KeyDown事件,但我无法捕获KeyDown上的两个键,可以吗?

谢谢

keyboard wpf transparency opacity

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

WPF - 动态资源与静态资源

我在 WPF 项目中遇到了巨大的内存泄漏,并且正在尝试找出可以采取哪些措施来最大程度地减少它。为了访问资源,我 100% 的时间都使用 StaticResource。我应该尽可能使用 DynamicResource 吗?StaticResource 和 DynamicResource 之间的内存管理有何优势?

仅供参考:我有一个通过 DataTemplate 显示数据的列表框。当用户向上/向下滚动时,内存会快速增加,只需几分钟的向上/向下滚动即可达到 1GB。

memory wpf performance resources

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

WPF - DataTemplate绑定到静态成员

我有一个带有名为CanSeePhotos的布尔静态属性的类,这应该控制我的DataTemplate中图片的可见性.出于调试目的,我将"CanSeePhotos"绑定到DataTemplate中的文本块.

我想做的是:

  1. 的InitializeComponent()
  2. 根据登录用户设置CanSeePhotos
  3. 加载数据并适当显示

我的问题是如果我在InitializeComponent()之后设置CanSeePhotos = true,那么数据仍然显示为CanSeePhotos为false(如果我在它工作正常之前这样做).这是为什么?如何修复它以便我可以在加载数据之前的任何时候设置值?

这是我如何绑定到我的DataTemplate中的静态变量:

<TextBlock Text="{Binding Source={x:Static DAL:LoggedInUser.CanSeePhotos}, Mode=OneWay}"/>
Run Code Online (Sandbox Code Playgroud)

这是LoggedInUser类:

public class LoggedInUser
{
    public static bool CanSeePhotos { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

编辑:如果我将控件的可见性直接绑定到静态属性,它将根据属性的值显示/折叠:

Visibility="{Binding Source={x:Static DAL:LoggedInUser.CanSeePhotos}, Converter={StaticResource BooleanToVisibilityConverter}}"
Run Code Online (Sandbox Code Playgroud)

但我需要像这样使用DataTrigger:

<DataTrigger Binding="{Binding Source={x:Static DAL:LoggedInUser.CanSeePhotos}}" Value="true">
   <Setter TargetName="icon" Property="Source" Value="{Binding Photo}"/>
</DataTrigger>
Run Code Online (Sandbox Code Playgroud)

在上面的情况下,如果属性为true,则setter永远不会被设置.

是什么赋予了?

wpf datatemplate

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

工具箱中没有报表项(VS 2008 SP1)

我使用的是Visual Studio 2008 SP1(版本9.0.30729.1).我的问题是,我看到的唯一与报告相关的工具箱项目是3个"文本框"控件.其他的东西在哪里?我是否需要添加对不同程序集的引用?

以下是我采取的步骤:
1)打开Visual Studio
2)添加新项目 - >"报告应用程序"
3)打开Report1.rdlc
4)打开工具箱,没有可用的控件(重复3个文本框控件除外)

谢谢你的帮助.

c# report toolbox visual-studio-2008

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

WPF - 如何将边框停靠在画布上?

我在画布里面有一个边框.边框的高度/宽度根据其内容而变化.我希望边框伸展以填满整个画布.我怎样才能做到这一点?

我在边境上试过这个没有成功:

Height="{Binding ElementName=MainCanvas, Path=Height}" 
Width="{Binding ElementName=MainCanvas, Path=Width}"
Run Code Online (Sandbox Code Playgroud)

wpf layout canvas dock

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

WPF - 阻止ListBox项目选择

我想阻止在ListBox中选择ListBoxItems.我的DataTemplate有一个复选框,这应该是用户可以单击或选择的唯一选项.我怎样才能做到这一点?谢谢!

wpf listbox datatemplate

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

WCF - 推荐客户端回调?

我有一个WCF服务,它公开两个操作 - IncrementList()和GetList().客户端B连接到服务,调用GetList()并显示给用户.客户端A能够通过调用IncrementList()来更新此列表.
我希望客户端B在调用IncrementList()时得到通知,这样它可以再次调用GetList()来显示更新的数据.

您能否概述一下如何实现这一点?回调?复式?发布/订阅?
WCF 4.0中有哪些新功能可以帮助实现这种情况?

服务图

谢谢!

wcf callback wcf-callbacks

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

通过C#在WPF中显示位图图像

我想要做的是如此简单,但我很难让它工作.我在同一行看到了一些帖子,但我仍然有疑问.

我有一个名为mnuA的MenuItem对象.我想要的只是在C#中以编程方式设置icon属性.我尝试了以下内容

a)mnuA.Icon = new BitmapImage{UriSource = new Uri(@"c:\icons\A.png")}; 结果:我没有显示实际的图标,而是获得了类名(System.Windows.Media.Imaging.BitmapImage)

b)mnuA.Icon = new BitmapImage(new Uri(@"c:\icons\A.png")); 结果:我没有显示实际图标,而是获得图像的路径(file:///c:/icons/A.png)

我究竟做错了什么?对于像这样简单的事情,我真的需要一个转换器类吗?

wpf icons bitmapimage

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

WPF - 无法将“&lt;null&gt;”从“&lt;null&gt;”类型转换为“System.Uri”类型

我有一个简单的用户控件来在文本块中显示超链接:

LinkTextBlock.xaml:

<TextBlock >
    <Hyperlink NavigateUri="{Binding Url, ElementName=root}" >
        <TextBlock Text="{Binding Text, ElementName=root}" />
    </Hyperlink>   
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

LinkTextBlock.xaml.cs:

public static readonly DependencyProperty UrlProperty = DependencyProperty.Register("Url", typeof (string), typeof (LinkTextBlock));
public string Url
{
    get { return (string) GetValue(UrlProperty); }
    set { SetValue(UrlProperty, value); }
}
public static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof (string), typeof (LinkTextBlock));
public string Text
{
    get { return (string) GetValue(TextProperty); }
    set { SetValue(TextProperty, value); }
}
Run Code Online (Sandbox Code Playgroud)


然后,在 ListBox 的 DataTemplate 中,我有:

<Controls:LinkTextBlock Text="{Binding Email}" Url="{Binding …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf

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

Delphi 3到SQL 2008

我的客户有一个用Delphi 3编写的系统,数据库是Paradox.我的工作是将其转换为使用SQL Server 2008.如何使其连接到SQL 2008?我知道,这是很老的东西.我很感激帮助.谢谢

sql-server delphi delphi-3

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