标签: wpf

在WPF中是否有MessageBox等价物?

WPF中是否有标准消息框,如WinForms' System.Windows.Forms.MessageBox.Show(),还是应该使用WinForms消息框?

c# wpf messagebox

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

如何在WPF中绑定反布尔属性?

我拥有的是具有IsReadOnly属性的对象.如果此属性为true,我想将IsEnabledButton(例如)上的属性设置为false.

我想相信我可以轻松地做到这一点,IsEnabled="{Binding Path=!IsReadOnly}"但不能与WPF一起使用.

我不得不经历所有的风格设置吗?对于像将一个bool设置为另一个bool的反向那样简单的事情,似乎太过冗长.

<Button.Style>
    <Style TargetType="{x:Type Button}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=IsReadOnly}" Value="True">
                <Setter Property="IsEnabled" Value="False" />
            </DataTrigger>
            <DataTrigger Binding="{Binding Path=IsReadOnly}" Value="False">
                <Setter Property="IsEnabled" Value="True" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Button.Style>
Run Code Online (Sandbox Code Playgroud)

wpf styles .net-3.5

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

Windows 8 Runtime(WinRT/Windows应用商店应用程序/ Windows 10通用应用程序)与Silverlight和WPF相比如何?

我试图了解用于创建Metro风格应用程序的新Windows 8 Runtime .我知道你可以在XAML上使用它,它基于.NET,所以C#和VB.NET可以用来编写应用程序,但它似乎与HTML,CSS,DOM和JavaScript有关.

根据.NET UI程序员可以理解的术语,有人可以用几段解释它是什么吗?(我错过了理解它所必需的"关键".)


我们都知道WPF,Silverlight,Windows Forms等将至少在英特尔系统上继续在Windows 8(和Windows 10)下运行,所以请不要告诉我......

wpf windows-runtime windows-store-apps win-universal-app windows-10

353
推荐指数
5
解决办法
4万
查看次数

WPF TextBox的多行

我正在开发一个应用程序来发送一些反馈.

基本上我是想做一个TextBox评论,但我已经习惯了WinForms MultiLine=true.我已经设置MinLines为3,它已经到了那里,但最好是我喜欢它,如果用户能够在这个块中的任何地方输入 - 比如按回车并做点点数的事情.例如:

- Item 1        blah
- Item 2                blahlb lahbvl   d
Run Code Online (Sandbox Code Playgroud)

但目前文本都停留在一行.

- Item 1         blah - Item 2                      blahb blahb blah
Run Code Online (Sandbox Code Playgroud)

这些评论将有助于填写发送的电子邮件的正文.如果在将此字符串放入电子邮件正文字符串时无法轻松保持相同的格式设置(这样看起来就像在键入时一样发送它),这可能毫无意义.

我可以实现我所追求的目标,还是必须将其作为一行中的所有文本保留?

wpf textbox multiline

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

ViewModel中的INotifyPropertyChanged与DependencyProperty

在Model-View-ViewModel体系结构WPF应用程序中实现ViewModel时,似乎有两个主要选择如何使其成为databindable.我已经看到了DependencyProperty用于View将要绑定的属性的实现,我已经看到了实现的ViewModel INotifyPropertyChanged.

我的问题是我应该何时优先选择其中一个?有任何性能差异吗?将ViewModel依赖项提供给WPF真的是个好主意吗?做出设计决定时还需要考虑什么?

architecture data-binding wpf dependency-properties mvvm

349
推荐指数
9
解决办法
7万
查看次数

如何让StackPanel的孩子向下填充最大空间?

我只想在左边流动文本,在右边有一个帮助框.

帮助框应该一直延伸到底部.

如果您取出下面的外部StackPanel,它的效果很好.

但由于布局的原因(我正在动态插入UserControl),我需要包装StackPanel.

如何让GroupBox扩展到StackPanel的底部,你可以看到我已经尝试过:

  • VerticalAlignment = "弹力"
  • VerticalContentAlignment = "弹力"
  • 身高="自动"

XAML:

<Window x:Class="TestDynamic033.Test3"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Test3" Height="300" Width="600">
    <StackPanel 
        VerticalAlignment="Stretch" 
        Height="Auto">

        <DockPanel 
            HorizontalAlignment="Stretch" 
            VerticalAlignment="Stretch" 
            Height="Auto" 
            Margin="10">

            <GroupBox 
                DockPanel.Dock="Right" 
                Header="Help" 
                Width="100" 
                Background="Beige" 
                VerticalAlignment="Stretch" 
                VerticalContentAlignment="Stretch" 
                Height="Auto">
                <TextBlock Text="This is the help that is available on the news screen." TextWrapping="Wrap" />
            </GroupBox>

            <StackPanel DockPanel.Dock="Left" Margin="10" Width="Auto" HorizontalAlignment="Stretch">
                <TextBlock Text="Here is the news that should wrap around." TextWrapping="Wrap"/>
            </StackPanel>

        </DockPanel>
    </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

回答:

谢谢Mark,使用DockPanel而不是StackPanel清理它.一般来说,我发现自己现在越来越多地使用DockPanel进行WPF布局,这里是固定的XAML:

<Window x:Class="TestDynamic033.Test3"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Test3" Height="300" Width="600" MinWidth="500" …
Run Code Online (Sandbox Code Playgroud)

wpf xaml dockpanel autoresize autolayout

338
推荐指数
4
解决办法
33万
查看次数

SelectedItem,SelectedValue和SelectedValuePath之间的区别

以下是有什么区别的:

所有这些依赖项属性都在Selector类中定义.我经常混淆SelectedItemSelectedValue,并SelectedValueSelectedValuePath.

我想知道它们之间的区别,并且当我们使用它们,尤其是SelectedValueSelectedValuePath.请用一些简单的例子解释它们的用法.

silverlight wpf xaml selectedvalue selecteditem

335
推荐指数
4
解决办法
23万
查看次数

WPF全局异常处理程序

有时,在不可重现的情况下,我的WPF应用程序崩溃而没有任何消息.应用程序立即关闭.

实现全局Try/Catch块的最佳位置在哪里.至少我必须实现一个消息框:"抱歉给您带来不便......"

.net c# wpf exception-handling exception

322
推荐指数
6
解决办法
14万
查看次数

WPF TextBlock中的自动垂直滚动条?

我有一个TextBlockWPF.我写了很多行,远远超过它的垂直高度.我预计一个垂直滚动条会在发生时自动出现,但事实并非如此.我试图在"属性"窗格中查找滚动条属性,但找不到.

如果我TextBlock的内容超出其高度,我怎样才能自动创建垂直滚动条?

澄清:我宁愿从设计师那里做,而不是直接写给XAML.

.net c# wpf scrollbar textblock

321
推荐指数
5
解决办法
24万
查看次数

ListBox与ListView - 如何选择数据绑定

我正在考虑使用ListBox或ListView作为WPF应用程序.似乎要么支持数据绑定和项目模板.我的应用程序有一个简单的项目列表,我打算能够根据用户输入搜索/排序/过滤.数据绑定演示(http://msdn.microsoft.com/en-us/library/ms771319.aspx)使用带有CollectionViewSource的ListBox.

有没有人有哪些控制权可以使用以及何时使用?

data-binding wpf listview listbox

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