相关疑难解决方法(0)

如何扩展WPF窗口以适应动态更改的ItemsControl的内容?

我有一个WPF应用程序,它以一个非常小的窗口开始.在200x100的区域内的东西.当从外部源引发某些事件时,我将控件添加到窗口的ItemsControl区域.items控件当前设置为使用StackPanel PanelTemplate.

我想要的是,当控件添加到itemscontrol时,应用程序窗口会增长.这是可能吗?这背后的想法是始终保持窗口尽可能小.当从itemscontrol中删除控件时,它也应该缩小.

谢谢.

wpf itemscontrol window-resize

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

绑定到窗口高度和宽度的问题

当我尝试将窗口的高度和宽度绑定到视图模型中的属性时,我遇到了一些问题.这是一个小样本应用程序来说明问题.这是app.xaml.xs中的代码

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
       base.OnStartup(e);
        MainWindow mainWindow = new MainWindow();
        MainWindowViewModel mainWindowViewModel = new MainWindowViewModel();
        mainWindow.DataContext = mainWindowViewModel;
        mainWindow.Show();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是MainWindow.xaml:

<Window x:Class="TestApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Height="{Binding WindowHeight}" 
        Width="{Binding WindowWidth}"
        BorderThickness="{Binding WindowBorderThickness}">
</Window>
Run Code Online (Sandbox Code Playgroud)

这是视图模型:

public class MainWindowViewModel
{
    public int WindowWidth { get { return 100; } }
    public int WindowHeight { get { return 200; } }
    public int WindowBorderThickness { get { return 8; } }
}
Run Code Online (Sandbox Code Playgroud)

程序启动时,会调用WindowHeight和WindowBorderThickness(但不是WindowWidth)的getter,因此窗口的高度和边框设置正确,但不是宽度. …

.net c# data-binding wpf binding

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

标签 统计

wpf ×2

.net ×1

binding ×1

c# ×1

data-binding ×1

itemscontrol ×1

window-resize ×1