2011-08-22 109 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