У меня есть опыт разработки веб-приложений .NET, но теперь я работаю над приложением Windows. У меня проблемы с пониманием компонентов пользовательского интерфейса.Как изменить область запуска мыши в приложении .NET Windows
В частности: есть кнопка (изображение ниже), где только текст доступен для кликабельности и хотел бы изменить его применительно ко всей строке (выделено синим цветом).
До сих пор я обнаружил, что при нажатии на текст вызывает функцию в классе UI, ProbeTree.xaml.cs
:
public partial class ProbeTree : UserControl
{
private void StackPanel_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{ etc.. }
и эта функция вызывается из файла ProbeTree.g.i.cs
:
void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 8:
#line 189 "..\..\..\..\UI\Protocol\ProbeTree.xaml"
((System.Windows.Controls.StackPanel)(target)).PreviewMouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.StackPanel_PreviewMouseLeftButtonDown);
#line default
#line hidden
break;
}
}
Это кажется что в этом файле я должен получить ссылку на всю строку и прикрепить к ней событие щелчка мыши вместо текущего параметра target
. К сожалению, я не знаю, что здесь, и точки останова в этом файле не запускаются из-за No symbols have been loaded for this document
.
Наконец этот код в ProbeTree.xaml
также относится:
<TreeView.Resources>
... many tags here ...
<DataTemplate DataType="{x:Type xs:VMReading}">
<StackPanel Orientation="Horizontal" DataContext="{Binding}" PreviewMouseLeftButtonDown="StackPanel_PreviewMouseLeftButtonDown">
<Label Content="{Binding Name}"></Label>
</StackPanel>
</DataTemplate>
</TreeView.Resources>
Любая идея, как я могу достичь своей цели?
Thanks @ C.Lucas. Можете ли вы уточнить, какой код мне нужен в модели представления? Я добавил строки, которые вы упомянули, и следующий код в модели представления: 'public void MyCommand() { Debug.WriteLine (« по вашей команде сэр! »); } ' (в этом случае файл' VMREading.cs'). Но он не вызывает – nest
Привет гнездо, потратил несколько минут на это. Элементы treeview не являются строками. Пакет стека и ярлык в нем только расширяются до конца текста в ярлыке. Вы можете увидеть это, установив фон любого из элементов. Вы можете расширить их, установив ширину метки или стека, но вы не будете знать, как далеко ее расширить, чтобы заполнить ширину дерева. –