标签: controls

如何自定义WPF StatusBar布局?

将多个子项添加到WPF会StatusBar导致布局不佳,几乎没有自定义选项.例如,这段代码:

<Window x:Class="StatusBar.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <DockPanel>
        <StatusBar DockPanel.Dock="Bottom">
            <StatusBarItem>
                <TextBlock>Ready</TextBlock>
            </StatusBarItem>
            <StatusBarItem>
                <TextBlock>Set</TextBlock>
            </StatusBarItem>
        </StatusBar>

        <Label>Main Content</Label>
    </DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

结果是:

在此输入图像描述

这不是理想的布局,因为"Set"被挤压到"Ready".

如何完全控制WPF StatusBar控件的布局?

wpf layout controls statusbar statusbaritem

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

在WinForms中控制vs UserControl?

.NET WinForms中的Control和UserControl有什么区别?我想创建一个自定义控件,但我应该继承哪一个?我过去总是使用Control而没有任何问题,但这是创建自定义控件的"推荐"方式吗?

.net user-controls controls winforms

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

模拟Click with MouseUp和MouseDown事件或其他方法的最佳方法是什么?

在WPF大多数控件具有MouseUpMouseDown事件(和鼠标按钮特有的变化),但不是一个简单的Click,可马上使用的事件.如果你想使用这些事件进行类似点击的行为,你需要处理我认为有点痛苦的事件.

最明显的问题是,你不能简单地忽略MouseDown事件,因为如果你点击启动另一个控件,它被释放了,只有处理控制MouseUp你应该点击就会触发,而它真的不应该:两个MouseUpMouseDown以上相同的控制应该发生.

所以如果有的话,我会对这个一般性问题更优雅的解决方案感兴趣.


注意:有几个很好的解决方案可以在下面看到,我选择接受Rachel的答案,因为它似乎很受欢迎,但另外我想添加以下注释:

Rachel的按钮答案非常简洁明了,但是您需要将实际控件包装在一个按钮中,在某些情况下,您可能不会真正将控件视为按钮,因为它可以被单击(例如,如果它更像是超链接),进一步你需要每次都引用一个模板.

Rick Sladkey的行为答案更直接地回答了如何模拟点击/使控件可点击的原始问题,缺点是你需要引用System.Windows.Interactivity并喜欢Rachel的解决方案,它会夸大Xaml代码.

我的附加事件答案的优点是在Xaml-Markup方面非常接近正常的点击事件,这可以用一个属性来完成,我看到的唯一问题是代码中的事件附件没有干净地封装(如果有人知道修复此问题,请在答案中添加评论).

wpf controls click mouseevent

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

您如何确定哪个验证器失败?

我正在使用页面,我得到一个Page.IsValid = false,我正在尝试确定哪个控件导致验证问题.

asp.net validation controls

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

以编程方式触发控件的事件

假设我有一个WinFoms项目.只有一个按钮(例如button1).

问题是:是否可以ButtonClicked通过代码触发事件而无需单击它?

c# events controls winforms

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

如何在WPF中创建选取框进度条?

在Winforms中,我可以将进度条的ProgressBarStyle设置为Marqee,这样就可以在不必设置的情况下自行设置进度条,对于我不知道要采取多长时间的进程,没有好的方法报告回UI.

我想在WPF中做同样的事情,但我无法找到一种方法来避免托管winform进度条,这似乎适得其反.

我怎样才能在WPF中解决这个问题?我必须主持一个winform进度条吗?

wpf controls styles .net-3.5

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

WebBrowser控件缓存问题

我在Windows窗体中使用WebBrowser控件来显示PDF.

但是,每当重新生成PDF时,WebBrowser控件仅显示其本地缓存版本,而不显示服务器的更新版本.

我正在使用下面显示的Refresh()方法尝试强制控件重新加载PDF,但它不起作用:

_webBrowser.Navigate(pdfUrl);

_webBrowser.Refresh(WebBrowserRefreshOption.Completely)
Run Code Online (Sandbox Code Playgroud)

我是否还必须执行其他操作以强制刷新从服务器重新加载PDF?

c# browser controls caching

28
推荐指数
3
解决办法
5万
查看次数

ReadOnly和Enabled之间的主要区别是什么?

Windows窗体控件中,有两个属性:ReadOnlyEnabled.

这两个属性有什么区别?我觉得他们的行为方式相同.

c# controls winforms

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

C#winform检查控件是否在物理上可见

是否可以确定是否可以看到控件的至少一个像素(通过属性或可能使用事件通知).

注意:即使其他窗口隐藏了控件,我也不会寻找可以返回true的Visible属性

c# controls winforms

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

如何限制OrbitControl?

有没有办法限制OrbitControls.js?想象一下,我在地面上创造了一些东西,我不想让相机低于地面,知道我的意思吗?!放大和缩小也是一样的.有没有办法设置一些变量来限制,因为我不希望相机关闭或太远?

controls three.js

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