Форум программистов, компьютерный форум, киберфорум
Наши страницы

C#: WPF, UWP и Silverlight

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
OwenGlendower
Модератор
Эксперт .NET
7388 / 6364 / 2364
Регистрация: 17.03.2014
Сообщений: 12,335
Записей в блоге: 1
#1

FAQ по WPF - C# WPF

03.06.2016, 14:51. Просмотров 6210. Ответов 3
Метки faq, wpf (Все метки)

Здесь находятся ответы на часто задаваемые вопросы по Windows Presentation Foundation (WPF).
Для добавления сюда новых вопросов и ответов обращайтесь к модераторам или в тему обсуждения FAQ.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2016, 14:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос FAQ по WPF (C# WPF):

.NET 4.x WPF async void fun() для событий контролла. (MapCOntrol.WPF) - C# WPF
Задача: Отмечаем чекбокс элементы и рисуем их на карте. При нажатии на кнопку выполняется событие, где вызывается функция, в которой...

.NET 4.x Вызов окошка WPF из другого окна WPF - C# WPF
Всем доброго времени суток. Подскажите пожалуйста как мне вызвать из главного окна WPF другую. Я тут искал, но нашел только как вызвать...

.NET 4.x ColorDialog для WPF. Копии всякого старья для WPF - C# WPF
Последние три дня мучился в поисках ColorDialog для WPF. Не стороннего заменителя, а максимально похожего контрола. Потом просто взял, да и...

Есть ли в WPF полноценная замена GDI+? Чтобы можно было всё, что можно в GDI+? Просто думаю углубляться в работу с изображениями в WPF или GDI. - C# WPF
Ну собственно весь вопрос в заголовке темы.

Чем определяется одинаковость урлов /page?FAQ и /page.php?FAQ - PHP
Подскажите, пожалуйста, какая опция php или настройка сервера позволяет не указывать .php в урлах? Просто раньше у меня на сайте работал...

С++11 и С++14 FAQ - C++
На сайте http://isocpp.org/ был опубликован анонс нового C++ FAQ. Материал довольно объемный и содержит разделы для начинающих, вопросы...

3
OwenGlendower
Модератор
Эксперт .NET
7388 / 6364 / 2364
Регистрация: 17.03.2014
Сообщений: 12,335
Записей в блоге: 1
03.06.2016, 15:15  [ТС] #2
Как найти элемент управления по имени на любом уровне вложенности?

В этом может помочь класс System.Windows.Media.VisualTreeHelper и следующая функция:
FindChild<T>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/// <summary>
/// Ищет дочерний элемент с указанным типом и именем в визуальном дереве
/// </summary>
/// <param name="parent">Родительский элемент который содержит искомый элемент</param>
/// <typeparam name="T">Тип искомого элемента</typeparam>
/// <param name="childName">Имя искомого элемента</param>
/// <returns>
/// Элемент с искомым именем и типом;
/// Если childName равен null, то первый элемент с указанным типом;
/// null если искомый элемент не найден.
/// </returns>
public static T FindChild<T>(DependencyObject parent, string childName)
    where T : DependencyObject
{
    if (parent == null) return null;
 
    if (parent is T && parent is FrameworkElement && ((FrameworkElement)parent).Name == childName)
    {
        return (T)parent;
    }
 
    int childrenCount = VisualTreeHelper.GetChildrenCount(parent);
    for (int i = 0; i < childrenCount; i++)
    {
        DependencyObject child = VisualTreeHelper.GetChild(parent, i);
        T obj = FindChild<T>(child, childName);
        if (obj != null) return obj;
    }
 
    return null;
}
5
OwenGlendower
Модератор
Эксперт .NET
7388 / 6364 / 2364
Регистрация: 17.03.2014
Сообщений: 12,335
Записей в блоге: 1
12.06.2016, 18:42  [ТС] #3
Как отключить вывод уведомлений о ошибках JavaScript в элементе управления WebBrowser?

Ответ
Добавьте следующую функцию:
C#
1
2
3
4
5
6
7
8
9
10
using System.Reflection;
...
public void HideScriptErrors(WebBrowser wb, bool Hide)
{
    FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
    if (fiComWebBrowser == null) return;
    object objComWebBrowser = fiComWebBrowser.GetValue(wb);
    if (objComWebBrowser == null) return;
    objComWebBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, objComWebBrowser, new object[] { Hide });
}
Затем добавьте подписку на событие Navigated:
C#
1
wb.Navigated += (sender, args) => { HideScriptErrors((WebBrowser)sender, true); };
3
novikov.ea
661 / 583 / 152
Регистрация: 10.06.2011
Сообщений: 1,101
06.10.2016, 10:36 #4
Как исправить ошибку "Вызывающий поток не может получить доступ к данному объекту, так как владельцем этого объекта является другой поток"?

Ответ
В WPF изменение свойств классов, унаследованных от DispatcherObject (кроме Freezable), возможно только из основного потока программы. Обращение к объектам следует производить через методы Dispatcher.Invoke или Dispatcher.BeginInvoke.
C#
1
2
3
4
this.Dispatcher.Invoke(() =>
{
    /* Код, на котором возникает ошибка */
});
0
06.10.2016, 10:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2016, 10:36
Привет! Вот еще темы с ответами:

FAQ по С++ - C++
У кого есть FAQ по библиотекам и входящим в них функциям(что они делают). Дайте ссылку плиз.

FAQ - PHP
Не могу скачать документацию http://ua2.php.net/get/php_enhanced_ru.chm/from/a/mirror , не вижу зеркала, может у кого есть локально дайте...

FAQ по Qt - C++ Qt
В данной теме приведены самые часто задаваемые вопросы по Qt и Qt Creator. Где скачать Qt/Qt Creator. Как обновить Qt. ...

FAQ по графам - Pascal
Иногда на форуме появляются просьбы решить задачу на теорию графов. На теории такие задачи решаются не так уж и сложно, ведь сколько...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru