小编Mar*_*art的帖子

在不可见的asp.net面板中阻止数据绑定

visible="false"不呈现hidden()面板,但是对包含的元素执行数据绑定.为什么这样做?更重要的是,如何避免它?

这是一个烦人的例子:

<asp:Panel ID="UserPanel" runat="server" visible="<%# SelectedUser != null %>">
    <%# SelectedUser.Name %>
</asp:Panel>
Run Code Online (Sandbox Code Playgroud)

如果SelectedUsernull,则不会渲染面板,但SelectedUser.Name会对其进行评估并生成错误.

我显然可以写,<%# SelectedUser != null ? SelectedUser.Name : "" %>但它会增加混乱.

当我知道不需要时,有没有办法简单而优雅地阻止面板内的数据绑定?

Panel控制在这里并不重要,它可能是一个普通的HTML元素的占位符runat="server".

asp.net data-binding

9
推荐指数
1
解决办法
1181
查看次数

WPF中的可聚焦面板

我需要让一个Panel可以在WPF中进行聚焦,这样它就像任何其他可聚焦控件一样捕获键盘事件:

  • 用户在Panel中单击以使其获得焦点
  • 在小组级别提出任何KeyDownKeyUp事件
  • 如果单击面板外的另一个可聚焦元素,则面板将失去焦点

FocusManager.IsFocusScope="True"在Panel上进行了实验并myPanel.Focus()返回,true但仍未调用Panel KeyUp事件处理程序.

我错过了什么吗?

wpf focus panel keydown

6
推荐指数
1
解决办法
3010
查看次数

标签 统计

asp.net ×1

data-binding ×1

focus ×1

keydown ×1

panel ×1

wpf ×1