如何将Xaml代码转换为C#(WPF中的Setter属性)
我在将Xaml转换为C#时遇到了一个问题,我使用的自动完成框选项卡顺序不能正常工作,这意味着首先我们移动所有控件,最后我继续自动完成框,我正在通过Xaml代码解决这个问题如何将Xaml代码转换为C#(WPF中的Setter属性),c#,wpf,xaml,autocomplete,styles,C#,Wpf,Xaml,Autocomplete,Styles,我在将Xaml转换为C#时遇到了一个问题,我使用的自动完成框选项卡顺序不能正常工作,这意味着首先我们移动所有控件,最后我继续自动完成框,我正在通过Xaml代码解决这个问题 <ToolKit:AutoCompleteBox.TextBoxStyle> <Style TargetType="TextBox"> <Setter Property="TabIndex" Value="{Binding ElementNa
<ToolKit:AutoCompleteBox.TextBoxStyle>
<Style TargetType="TextBox">
<Setter Property="TabIndex"
Value="{Binding ElementName=txtFirstName, Path=TabIndex}"/>
</Style>
</ToolKit:AutoCompleteBox.TextBoxStyle>
现在在另一个例子中,我使用的是All Control Dynamic,所以没有Xaml自动完成我的所有工作,但我面临着同样的制表符顺序问题,如何从C转换上面的Xaml代码#
ctrl=newautocompletebox{FontSize=14,MaxDropDownHeight=90};
//在这里,我们需要实现这种风格
ctrl.TabIndex=c.TabOrder;
ctrl.MaxWidth=200;
if(c.SpName!=null&&c.DisplayMember!=null)
{
DataTable dt=sqlHelper.ExecuteSelectProcedure(c.SpName);
var cmb=ctrl作为自动完成框;
cmb.ItemsSource=dt.AsEnumerable().Select(r=>r.Field(c.DisplayMember)).ToList();
}
请帮帮我谢谢和问候
Shashank Tyagi有一个应用程序可以做到这一点,它是。 在WPF/SL应用程序上,可以在某些方面使用XAML或C#/VB.NET代码(例如,创建情节提要或设置图像源) 致以最诚挚的问候
如果(c.Type==typeof(AutoCompleteBox))
var style = new Style(typeof(TextBox));
var binding = new Binding("TabIndex") { ElementName = "txtFirstName" };
var setter = new Setter(TextBox.TabIndexProperty, binding);
style.Setters.Add(setter);
ctrl.TextBoxStyle = style;
{
//var style=新样式(typeof(TextBox));
ctrl=new AutoCompleteBox{FontSize=14,MaxDropDownHeight=90,Name=c.ControlID};
ctrl.TabIndex=c.TabOrder;
ctrl.MaxWidth=200;
var style=新样式(typeof(TextBox));
var binding=new binding(“TabIndex”){ElementName=c.ControlID};
var setter=新setter(TextBox.TabIndexProperty,binding);
style.setter.Add(setter);
(ctrl作为自动完成框)。TextBoxStyle=style;
if(c.SpName!=null&&c.DisplayMember!=null)
{
DataTable dt=sqlHelper.ExecuteSelectProcedure(c.SpName);
var cmb=ctrl作为自动完成框;
cmb.ItemsSource=dt.AsEnumerable().Select(r=>r.Field(c.DisplayMember)).ToList();
}
}
这段代码非常有效我在上面的Xaml中还有一个查询。。。默认情况下,自动完成框的ISTABSTOP属性为True……如果我将其设置为false并删除样式,则它可以正常工作,然后我可以完美地移动制表符,但在自动完成框上,光标不会出现
var style = new Style(typeof(TextBox));
var binding = new Binding("TabIndex") { ElementName = "txtFirstName" };
var setter = new Setter(TextBox.TabIndexProperty, binding);
style.Setters.Add(setter);
ctrl.TextBoxStyle = style;
else if (c.Type == typeof(AutoCompleteBox))
{
//var style = new Style(typeof(TextBox));
ctrl = new AutoCompleteBox { FontSize = 14, MaxDropDownHeight = 90, Name = c.ControlID };
ctrl.TabIndex = c.TabOrder;
ctrl.MaxWidth = 200;
var style = new Style(typeof(TextBox));
var binding = new Binding("TabIndex") { ElementName = c.ControlID };
var setter = new Setter(TextBox.TabIndexProperty, binding);
style.Setters.Add(setter);
(ctrl as AutoCompleteBox).TextBoxStyle = style;
if (c.SpName != null && c.DisplayMember != null)
{
DataTable dt = sqlHelper.ExecuteSelectProcedure(c.SpName);
var cmb = ctrl as AutoCompleteBox;
cmb.ItemsSource = dt.AsEnumerable().Select(r => r.Field<string>(c.DisplayMember)).ToList();
}
}