标签: code-behind

如何以编程方式检索用于 UI 层次结构中特定元素的 DataTemplate?

我们需要在代码中确定在给定特定数据类型和该元素的情况下,哪个模板将自动应用于绑定元素。

我们并不是在寻找 DataTemplateSelector,因为它用于根据自定义逻辑告诉UI 对于给定对象使用哪个模板。相反,我们询问UI对于给定的数据类型和 UI 元素将使用哪个模板。

换句话说,我们正在寻找基于窗口资源部分中定义的模板应用的任何 WPF,这些模板可以被该窗口上的控件的资源覆盖,可以通过显式设置 DataTemplate 或直接在该元素上提供 DataTemplateSelector。

另外,我们尝试了 SelectTemplate 的默认实现,但它返回 null,所以我们也不能走这条路。

测试将询问 UI 中任何位置没有定义数据模板或选择器的元素“您将如何显示该值?” 希望它会返回一个包含 TextBlock 定义的 DataTemplate,其中文本属性设置为该对象上的 ToString 方法,这是在未定义任何其他内容时默认显示的内容。

c# wpf code-behind datatemplate

5
推荐指数
1
解决办法
1056
查看次数

通过代码隐藏结果​​向 html 标记添加属性会导致错误类型 (System.Web.UI.HtmlControls.HtmlElement) 不兼容

当我尝试向母版页中的 html 标记添加属性时:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="primtag" runat="server">
Run Code Online (Sandbox Code Playgroud)

就像后面的代码一样:

prmimaryhtml_tag.Attributes.Add("lang", "en")
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Parser Error

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 

Parser Error Message: The base class includes the field 'primtag', but its type (System.Web.UI.HtmlControls.HtmlElement) is not compatible with the type of control (System.Web.UI.HtmlControls.HtmlGenericControl).

Source Error: 


Line 4:  
Line 5:  <!DOCTYPE …
Run Code Online (Sandbox Code Playgroud)

html vb.net asp.net webforms code-behind

5
推荐指数
1
解决办法
3952
查看次数

WPF访问列表视图代码隐藏的滚动查看器

我需要从代码隐藏访问列表视图的滚动查看器。这是我的列表视图的定义

<ListView Grid.Row="1" ItemsSource="{Binding Path=SpecList, UpdateSourceTrigger=PropertyChanged}"  
                            Name="mylistview"
                            ItemTemplate="{StaticResource SpecElementTemplate}"
                            Background="{StaticResource EnvLayout}"
                            ScrollViewer.HorizontalScrollBarVisibility="Visible"
                            ScrollViewer.VerticalScrollBarVisibility="Disabled"
                            ItemContainerStyle="{StaticResource MyStyle}"
                            BorderBrush="Blue"
                            BorderThickness="20"
                            Margin="-2">
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal" />
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得滚动查看器?

谢谢

安德烈亚

c# wpf listview code-behind scrollviewer

5
推荐指数
1
解决办法
4590
查看次数

如何创建 Razor 页面的后台代码

当我在Visual Studio 2017中创建新的 Razor 页面时,未创建分离的代码隐藏文件。

这是突出显示的问题的屏幕截图。

在此输入图像描述

我们可以看到调用的 Razor 页面List.cshtml不包含代码隐藏文件。about.cshtml例如,将其与默认页面进行对比。

asp.net model-view-controller code-behind razor razor-pages

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

在代码中看不到命名的Silverlight控件

在Silverlight 3的前几个小时里,作为狂热的WPF用户,我对它不支持的许多事情感到非常失望.这对我来说似乎是一个奇怪的问题,它是如此通用,我无法在网上找到任何关于它的东西.

我有以下XAML:

<controls:TabControl x:Name="workspacesTabControl" Grid.Row="1"
Background="AntiqueWhite" ItemsSource="{Binding Workspaces, ElementName=_root}"/>
Run Code Online (Sandbox Code Playgroud)

但是,我无法看到workspacesTabControl代码隐藏.我想也许IntelliSense只是意味着并试图继续编译它,但是有一个错误:

Error   1   The name 'workspacesTabControl' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)

如何在代码隐藏中访问控件?

编辑:我意识到我粘贴了错误的错误 - 我在UserControl中有两个名为workspacesTabControl和menuStrip的控件.在代码隐藏中,我无法通过他们的名字找到其中任何一个.

以防万一,这里是XAML menuStrip:

<controls:TreeView Grid.ColumnSpan="2" Height="100" x:Name="menuStrip"
                   ItemContainerStyle="{StaticResource MenuStripStyle}"
                   ItemsSource="{Binding Menu, ElementName=_root}"/>
Run Code Online (Sandbox Code Playgroud)

再次编辑:

我不确定这是否有用,但我已经看了一下InitializeComponent()代码,这就是我所看到的:

[System.Diagnostics.DebuggerNonUserCodeAttribute()]
public void InitializeComponent() {
    if (_contentLoaded) {
        return;
    }
    _contentLoaded = true;
    System.Windows.Application.LoadComponent(this, new System.Uri("/SapphireApplication;component/SapphireMain.xaml", System.UriKind.Relative));
}
Run Code Online (Sandbox Code Playgroud)

它似乎只是在运行时(不是在编译之前或编译期间)加载XAML,因此menuStripworkspacesTabControl名称实际上并没有在任何地方注册(因为它们通常在WPF/win表单中).该属性可能是个问题吗?我在哪里可以摆脱所有未来UserControls的这个要求?

silverlight user-controls code-behind silverlight-3.0

4
推荐指数
1
解决办法
5040
查看次数

从代码背后的WPF组合框绑定

如何通过codebehind.cs文件将IList项绑定到a ComboBox.请用简单的步骤解释.

我需要双向绑定的步骤,而不是设置ItemsSource.

我需要这样的东西:

myComboBox.SetBinding(ItemsControl.ItemsSourceProperty, 
                      new Binding { Source = myList });
Run Code Online (Sandbox Code Playgroud)

但我SelectedItem也需要.

谢谢

data-binding wpf combobox code-behind

4
推荐指数
1
解决办法
8763
查看次数

代码隐藏中的.NET/C#字符串引用未加载更新的值

我似乎遇到了一个奇怪的问题,即字符串引用没有加载更新的值.

简而言之,我已经替换了包含一堆页面标题的DLL文件(App_Code.dll)(想想HTML页面标题),但是当从其他DLL引用时,这些值没有被更新.

这是一个示例页面代码隐藏的代码片段:

   this.Master.PageDescription = Constants.Titles.CardInfoPageDescription;
Run Code Online (Sandbox Code Playgroud)

Constants类被编译成App_Code.dll,我刚刚替换它.我还清除了缓存(在这种情况下是IIS 6),重新启动了计算机,并确保我的本地浏览器缓存为空.

但是,当我加载网页时,它没有加载Constants.Titles.CardInfoPageDescription的新值.这适用于所有网页.

我可以让它更新它以替换该页面的DLL的唯一方法,该页面根本没有改变...

知道为什么会这样吗?这个字符串引用是否实际上没有在运行时查找并内置到页面DLL中?

任何帮助是极大的赞赏!

谢谢,亚当

.net c# string iis-6 code-behind

4
推荐指数
1
解决办法
506
查看次数

从按钮单击处理程序中的代码隐藏执行ASP.NET成员身份登录

我正在尝试无缝地登录用户而不提示凭据作为<asp:Wizard>流程的一部分.我的策略是处理NextButtonClick事件并在代码中登录用户.我已经在会话变量中保存了用户的凭据.

是否可以在代码中登录用户?<asp:Login>是否需要在幕后隐藏控件?

asp.net forms-authentication asp.net-membership code-behind wizard

4
推荐指数
1
解决办法
8275
查看次数

C#HttpRequest - 访问url中的主题标签

不幸的是,由于广泛使用"hashtag"和"httprequest"这个词,我找不到任何搜索结果,这些搜索结果让我得到了关于这样的事情是否可行的答案.

如果我有这样的网址:

/订单/产品#12345

HttpRequest类向我显示了FilePath,RawUrl以及显示url的所有其他成员

/订单/产品

它只是摆脱了标签,我找不到一个地方来查看它.

有没有办法让我能够从代码隐藏中看到URL末尾的主题标签?我知道我可以很容易地把它变成一个QueryString参数,但我喜欢它看起来更好的方式,所以如果有办法做到这一点,我想知道它是什么:)

提前致谢!

c# code-behind httprequest hashtag asp.net-mvc-3

4
推荐指数
1
解决办法
4022
查看次数

将ViewModel置于代码隐藏中是不对的?

在MVVM中,我们通常有一个View(XAML +通常是空代码隐藏)以及一个单独的ViewModel.View和ViewModel之间的交互通过数据绑定进行.

假设View只是XAML并且其代码隐藏是空的(通常就是这种情况),使用代码隐藏本身作为ViewModel并将View绑定到代码隐藏的属性是否有任何问题?关注点的分离仍然存在 - 您有一个纯XAML视图和一个ViewModel,它是代码隐藏,它们只通过数据绑定相互通信.ViewModel仍然可以进行单元测试.

这听起来像是异端邪说,但是当代码隐藏实际上是空的时候,我无法想到任何可以证明必须为ViewModel创建单独类的用例.

wpf xaml code-behind mvvm

4
推荐指数
1
解决办法
1149
查看次数