加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

绑定到XAML中的Window.Current.Bounds.Width

发布时间:2020-12-13 22:33:30 所属栏目:Windows 来源:网络整理
导读:我在LayoutAware页面上有一个弹出控件. 我真正想要的是弹出窗口填满屏幕. 我认为解决方案是使用Window.Current.Bounds.Height / Width来设置弹出控件内部网格上的相应属性. 我不想使用代码隐藏文件来设置这些属性.我希望能够绑定到XAML中的Window.Current.Bo
我在LayoutAware页面上有一个弹出控件.

我真正想要的是弹出窗口填满屏幕.

我认为解决方案是使用Window.Current.Bounds.Height / Width来设置弹出控件内部网格上的相应属性.

我不想使用代码隐藏文件来设置这些属性.我希望能够绑定到XAML中的Window.Current.Bounds.Height.

我可以这样做吗?

有没有更好的方法让弹出窗口填满屏幕?

解决方法

您可以通过编写高度和宽度的转换器来实现.

public class WidthConverter : IValueConverter
{
    public object Convert(object value,Type targetType,object parameter,string language)
    {
        return Window.Current.Bounds.Width;
    }

    public object ConvertBack(object value,string language)
    {
        throw new NotImplementedException();
    }
}

public class HeightConverter : IValueConverter
{
    public object Convert(object value,string language)
    {
        return Window.Current.Bounds.Height;
    }

    public object ConvertBack(object value,string language)
    {
        throw new NotImplementedException();
    }
}

在页面资源部分添加此内容 –

<common:WidthConverter x:Key="wc" />
    <common:HeightConverter x:Key="hc" />

用它们弹出 –

<Popup x:Name="myPopup"  >
            <Grid  Background="#FFE5E5E5" Height="{Binding Converter={StaticResource hc}}" Width="{Binding Converter={StaticResource wc}}" />
        </Popup>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读