, если я добавлю элемент управления в Microsoft Blend 4 без установки имени этого элемента управления, и я хочу задать ему имя и использовать его в C# как? пример, который я добавил кнопку с помощью Blend, в моем макете, но не дать ему имя Я хочу, чтобы дать ему имя с помощью C# без x:Name=""
в XAMLпереименовать управление в wpf с помощью C#
ответ
Во-первых, почему в мире вы хотите сделать это?
Если вы не указали имя, у вас нет простого доступа к элементу управления. Однако вы можете получить доступ к элементу управления через отношения с другими элементами управления или событиями, которые передают ссылку, например загруженное событие.
например.
private void Menu_Loaded(object sender, RoutedEventArgs e)
{
(sender as Menu).Name = "MainMenu";
}
Или, если элемент управления является потомком другого контроля:
(ControlStack.Children[0] as Menu).Name = "MainMenu";
Но я не могу думать ничего полезного, что может быть достигнуто, что ...
Вы, наверное, просто хотите получить ссылку на объект, который вы можете легко сохранить в члене класса. В некоторых случаях вы также можете нарезать свой XAML, используя ресурсы.
например.
<local:SomethingIWouldLikeToReference x:Key="SomethingIWouldLikeToReference"/>
<local:UserControl x:Name="userControl">
<Stuff>
<MoreStuff Content="{StaticResource SomethingIWouldLikeToReference}"/>
</Stuff>
</local:UserControl>
public MainWindow()
{
InitializeComponent();
MyReference = FindResource("SomethingIWouldLikeToReference") as SomethingIWouldLikeToReference;
}
На вашем месте я бы дал LogicalTreeHelper.GetChildren (это) шанс. Он возвращает коллекцию детей в Window (это ручка Window) Ссылка MSDN
Оттуда вы можете попытаться найти свой контроль.
Но я думаю, что проще попытаться переписать элемент управления (или искать другой компонент), чтобы вы могли иметь имена у детей. Это была ваша проблема с самого начала.
Надеется, что это помогает
Gorgen
Примера, если у меня есть ListView Control, и я хочу, чтобы использовать его, чтобы добавить элементы и удалять элементы Сделать личное ListView и инициализировать его
ListView temp_control_List = new ListView()
затем сделать заряженное EventHandler от Blend, поэтому он будет в VS, тогда
private void ListView_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
temp_control_List = sender as ListView;
}
Теперь вы можете добавлять и удалить из контроля просмотра списка из temp_control_List
- 1. Цитирование с помощью Wpf tabitem Управление с помощью C#?
- 2. Управление мышью в C# WPF
- 3. Управление wpf в C++/CLI
- 4. Управление wpf из matlab с помощью C# dll
- 5. C# WPF управление вложенными структурами с помощью ItemsControl
- 6. Как очистить управление изображениями в WPF (C#)
- 7. C#/WPF - Picturebox как управление?
- 8. Управление диаграммой MS с помощью WPF
- 9. WPF GUI Управление с помощью Thread.CurrentPrincipal
- 10. Проблемы с C# - WPF Управление основным окном
- 11. Управление Длина RichTextBox в WPF C#
- 12. Управление вкладкой в WPF
- 13. Управление WPF ListView
- 14. Управление манипуляторами в WPF
- 15. Sharepoint: переименовать столбец (поле) с помощью C#
- 16. переименовать xml rootnode с помощью C#
- 17. Refactor переименовать в C
- 18. Переименовать файл в C#
- 19. Управление блокировкой в WPF
- 20. Управление ресурсами WPF
- 21. Управление сессиями в WPF
- 22. Управление меню в WPF
- 23. Управление объявлением в WPF
- 24. Управление индексами WPF
- 25. Управление WPF с возможностью навигации
- 26. Управление WPF Gridview
- 27. Связать управление WPF с SQL-сервером с помощью шаблона репозитория
- 28. Управление OpenGL в WPF с ошибкой OOM
- 29. Управление локализацией с помощью Baml
- 30. Управление элементами WPF
может быть конкретным и добавить дополнительную информацию в ур вопрос? –
У вас есть веская причина не давать контроль над именем? – Gorgen
yes Я добавил расширяемый элемент управления Я получил его из codeproject, и я могу скомпилировать его, только если у всех его детей нет имени – kartal