【发布时间】:2023-03-29 23:08:01
【问题描述】:
我正在为 UWP 使用 telerik SizeDrawer 控件。在其中,我希望抽屉内容在打开时覆盖整页。因此,我尝试绑定到页面的 Actual-Width ,但这不起作用,然后我尝试使用 sizeChanged 事件注册它,但抽屉内容的宽度仍然保持为 0。除非我明确将其定义为像 300 这样的值,然后它仍然是 300,但我希望它覆盖全屏。
代码
<telerik:RadSideDrawer Name="MainDrawer" SizeChanged="MainDrawer_SizeChanged"
Loaded="MainDrawer_Loaded">
<telerik:RadSideDrawer.MainContent>
<Grid />
</telerik:RadSideDrawer.MainContent>
<telerik:RadSideDrawer.DrawerContent>
<Grid Name="DrawerGrid" Background="Yellow">
</Grid>
</telerik:RadSideDrawer.DrawerContent>
</telerik:RadSideDrawer>
C#
private void MainDrawer_SizeChanged(object sender, SizeChangedEventArgs e)
{
DrawerGrid.Width = e.NewSize.Width;
}
private void MainDrawer_Loaded(object sender, RoutedEventArgs e)
{
DrawerGrid.Width = MainDrawer.Width;
}
请注意,抽屉网格的高度还可以,可以拉伸到全屏,但宽度保持为 0,如果宽度完全保持不变,则固定为 240。
【问题讨论】:
-
应该是
MainDrawer.ActualWidth。 -
我对@987654324@ 一无所知,但 xaml 在某种程度上旨在克服这些问题,无需触发任何事件。
-
@JustinXL 我试过了,但实际宽度也不起作用,它以某种方式覆盖了宽度
-
@Stefan 我知道我不需要触发事件,因为当我使用主抽屉的实际宽度绑定时它应该可以工作,但它仍然不起作用。
标签: c# xaml uwp telerik uwp-xaml