WPF: GridViewColumn изменяют размер события

Я использую ListView с GridView. Есть ли GridViewColumn изменить размер события?

10
задан Dave Clemmer 18 September 2011 в 18:33
поделиться

3 ответа

Посмотрите подробности MSDN DridViewColumn . Это не похоже на такое событие, возможно, потребуется какое-то обходное решение, хотя я не уверен. посмотрите здесь

Надеюсь, это поможет.

3
ответ дан 3 December 2019 в 14:11
поделиться

Перейдя от использования этого в течение многих лет, к поиску не так много людей (по крайней мере, в моем опыте) использовать его, я в конечном итоге изменился. Преимущества, которые я вижу, имея этот код без кода:

  • Я использую подчеркивания: _ myVar для частных переменных, которые не нуждаются в этот , так как они всегда членами переменные.
  • Для вызовов метода очень очевидно, что он является частью класса. Если бы это было не так, вы бы добавили имя типа.
  • (C #) Частные переменные и параметры - это всегда случай верблюда.
  • Если ваш класс настолько велик, это сбивает вас с толку, у вас все равно есть проблема сплоченности и разделения проблем.
  • (C #) Типы цветовых кодов Visual Studio, чтобы вы знали, используете ли вы свойство или тип:

например

someclass.Method(1);
SomeClass.StaticMethod(1);

Я вижу, что если не использовать соглашение об именовании подчеркиваний и иметь большой метод с весомым телом, это может привести к некоторой путанице.

Статические методы или свойства могут иногда путать вещи, но очень редко.

Очевидно, что при передаче ссылок всегда требуется ключевое слово this , например:

someclass.Method(this);
var someclass = new SomeClass(this);

( Я пишу C #, но мой ответ относится к Java )

-121--2444727-

http://sqlite-crypt.com/ может помочь вам создать зашифрованную базу данных, хотя я никогда не использовал ее на Android, кажется, возможно с исходным кодом.

-121--849713-

Хотя GridViewColumn не имеет события Resize , можно выполнить привязку к свойству ColumnWidth .

Вы можете проверить это с помощью примера XAML ниже - для этого примера не требуется код. Он привязывается только в одном направлении, от ширины столбца к текстовому полю, и при изменении размера текстовое поле будет немедленно обновляться в соответствии с шириной столбца.

(Это простой пример; если вы хотите выбрать изменение размера в коде, я бы создал класс со свойством Ширин , так что привязка будет работать в обоих направлениях).

<StackPanel>
    <ListView>
        <ListView.View>
            <GridView>
                <GridViewColumn Width="{Binding ElementName=tbWidth1, Path=Text, Mode=OneWayToSource}"  />
                <GridViewColumn Width="{Binding ElementName=tbWidth2, Path=Text, Mode=OneWayToSource}"  />
            </GridView>
        </ListView.View>
        <ListViewItem>Item 1</ListViewItem>
        <ListViewItem>Item 2</ListViewItem>
    </ListView>
    <TextBox Name="tbWidth1" />
    <TextBox Name="tbWidth2" />
</StackPanel>
3
ответ дан 3 December 2019 в 14:11
поделиться

Я буду обрабатывать PropertyChanged вместо этого. Событие PropertyChanged не отображается в Intellisense Visual Studio, но его можно обмануть :)

 GridViewColumn column = ...
 ((System.ComponentModel.INotifyPropertyChanged)column).PropertyChanged += (sender, e) =>
 {
     if (e.PropertyName == "ActualWidth")
     {
         //do something here...
     }
 };
29
ответ дан 3 December 2019 в 14:11
поделиться
Другие вопросы по тегам:

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