Как я могу преобразовать код Xaml в C # (свойство сеттера в WPF) - PullRequest
1 голос
/ 22 августа 2011

У меня есть проблема, связанная с преобразованием Xaml в C #, я использую Auto complete Box. Порядок не работает должным образом. Это означает, что сначала мы переместим все элементы управления, и, наконец, я перехожу на Auto complete. Box im решает эту проблему с помощью кода xaml.

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

Теперь на другом я использую All Control Dynamic, поэтому Xaml там нет. Для автозаполнения все мои работы должны быть завершены, но я сталкиваюсь с такой же проблемой заказа 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();
}

Пожалуйста, помогите мне, спасибо и всего наилучшего

Шашанк Тяги

Ответы [ 3 ]

1 голос
/ 22 августа 2011

есть приложение, которое вы можете сделать это, XamlT приложениях WPF / SL , вы можете использовать код XAML или C # / VB.NET в некоторых аспектах (например, для создания раскадровки или установки источника изображения).

С наилучшими пожеланиями

0 голосов
/ 24 августа 2011
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();
    }
}

Этот код прекрасно работает

0 голосов
/ 22 августа 2011
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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...