2011-08-22 80 views
1

我有一个关于将Xaml转换为C#的问题,我正在使用自动完成框Tab选项顺序不起作用正确的方式首先我们移动所有的控件,最后我那张自动完成框IM通过XAML代码使用的所有控制动态所以没有XAML中有没有自动完成我所有的作品中是完整的另一种即时通讯解决这个现在如何将Xaml代码转换为C#(WPF中的Setter属性)

<ToolKit:AutoCompleteBox.TextBoxStyle> 
    <Style TargetType="TextBox"> 
     <Setter Property="TabIndex" 
       Value="{Binding ElementName=txtFirstName, Path=TabIndex}"/> 
    </Style> 
</ToolKit:AutoCompleteBox.TextBoxStyle> 

但是我面对同样的Tab顺序问题我怎么能转换以上XAML代码从C#

ctrl = new AutoCompleteBox { FontSize = 14, MaxDropDownHeight = 90 }; 
//Here We need to Implement That Style 
ctrl.TabIndex = c.TabOrder; 
ctrl.MaxWidth = 200; 
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(); 
} 

请帮我感谢和问候

沙善特亚吉

回答

0
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(); 
    } 
} 

本守则完美的作品

1

有,你可以做到这一点,这是XamlT的应用程序。 On WPF/SL应用程序,您可以在某些方面使用XAML或C#/ VB.NET代码(例如,创建故事板或设置图像源)。

问候

0
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; 
+0

你好HB感谢帮助我 – Shashank

+0

我多了一个查询上面的XAML ... ISTABSTOP自动完成框的属性是bydefault真。 ...如果我将它设置为false并删除样式然后它的作品,然后我能够移动tabing完美,但在自动完成框光标不显示 – Shashank