Привязка к команде в datagrid

Поскольку ios автоматически применяет набор фиксированных кадров при встраивании ContainerController. Вы должны запретить переводить маску авторазмера в LayoutConstraint.

Это можно сделать, установив следующее свойство в методе ContainerViewController (целевой контроллер) ViewdidLoad.

view.translatesAutoresizingMaskIntoConstraints = false
18
задан Peter Lillevold 5 September 2011 в 08:47
поделиться

1 ответ

Да, просто необходимо разбудить один уровень. Я попробовал бы привязку ElementName первый и обратился бы к RelativeSource только если необходимый. Например, я предпочел бы это:

<DataGrid x:Name="_grid">
    ...
        <Button Command="{Binding DataContext.RemoveItem, ElementName=_grid}"/>
    ...
</DataGrid>

Тем не менее компилятор XAML может получить свои штанишки в узле когда дело доходит до имен элементов и определяющий объем в средствах управления, таким образом, Вы, возможно, должны обратиться к RelativeSource:

<DataGrid x:Name="_grid">
    ...
  <Button Command="{Binding DataContext.RemoveItem, 
                    RelativeSource={RelativeSource FindAncestor, 
                                    AncestorType={x:Type DataGrid}}
                   }"/>
    ...
</DataGrid>

только необходимо искать вплоть до контекста данных, будет модель представления. Вы могли искать UserControl, если бы Вы хотели к - не уверенный, что это действительно имеет значение. Оба - довольно хрупкая привязка, который является, почему я предпочитаю эти ElementName подход.

38
ответ дан 30 November 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: