我正在Silverlight Web应用程序(RIA)上工作,该Silverlight Web应用程序托管在Silverlight Web应用程序中。silverlight中的stackpanel可见性编辑
背景:我在XAML页面的一个一个StackPanel。我试图简化我的问题。这是分列如下:
我的XAML页面有一个堆栈面板和StackPanel中只有文本块和按钮它。导航到xaml页面时,只有授权用户才能看到文本块中的值。如果用户未经授权,我打算在文本块中显示“未经授权”的消息(而不是价值)(按钮也是折叠的,我不显示按钮。)
仅供参考,texblock的这个值来自WCF服务我已经为服务中的授权制定了适当的属性。如果未经授权,价值将不会来自服务的文本块。我现在所做的只是针对用户界面,当某些用户尝试从浏览器的地址栏输入网页的网址时,我想向他展示未经授权的消息。
我有什么迄今所做::我给一个名字的StackPanel。我给了文本块名称和按钮名称。如果授权,我将文本块的文本值设置为服务返回值。
如果未经授权,我改变从cs文件,因为这样有知名度和文字。
textblock.Text="unauthorized";
buttonname.Visibility = Visibility.Collapsed;
问题:问题是我有一个想法。 :(当我有一个名字为我的StackPanel,我可以说 stackpanelname.Visibility = Visibility.Collapsed。
但我不能证明我的消息(文字块)现在,怎么把孩子控制也崩溃与父母有什么方式是,我可以折叠我的堆叠面板(父级控制),但只有其中一个控件(一个子控件,或少数几个)是可见的。
解决方案:当我打字时,我得到了一个解决方案,我可以去对于一个新的堆栈面板,具有文本块,它的知名度,我可以设置为可见,并作为我的消息,但是,是它唯一的出路。?我们如何处理这些情况?
在一般情况下,假设我的问题清楚了从UI中,什么是在这种情况下提供安全性的一般方法。它会重定向到错误页面/登录页面还是在同一页面或其他任何东西上发送给用户的消息。假设后端服务将拥有授权的属性和逻辑。