<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Форум '.NET GUI' на RSDN</title>
    <link>http://rsdn.org/Forum/dotnet.gui/</link>
    <description>Создание GUI на .NET</description>
    <category>dotnet</category>
    <category>gui</category>
    <language>ru-ru</language>
    <copyright>Copyright ©, RSDN, 2001-2007</copyright>
    <webMaster>forum@rsdn.org</webMaster>
    <generator>RSDN RSS Generator 1.3</generator>
    <image>
      <url>http://rsdn.org/rsdn.gif</url>
      <title>RSDN</title>
      <link>http://rsdn.org</link>
    </image>
    <lastBuildDate>Sat, 25 Apr 2026 07:23:33 GMT</lastBuildDate>
    <ttl>5</ttl>
	<item>
		<title>[WPF] Галимый анахронизм печати</title>
		<link>http://rsdn.org/Forum/dotnet.gui/9018346.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/9018346</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/9018346</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=9018346</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/9018346</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=9018346</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Речь про PrintDialog и конкретно про PrintVisual(Visual вашКонтрол, string описаниеЗаданияПечати):&lt;br /&gt;
&lt;br /&gt;
Сделали мелкософтовцы "печать контрола" и это замечательно &amp;mdash; я побырому применил его в проге и уже было обрадовался, что "задарма" сделал печать сложной формы, но поддых получил откуда не ждали &amp;mdash; оказывается, это только называется "печать"! На деле, контрол тупо выводится на "бесконечное полотно печати" и плевать он хотел на настройки принтера, а конкретно &amp;mdash; на СТРАНИЦЫ(!!). Т.е. в выходном файле всего одна страница размером с печатаемый контрол &amp;mdash; ват зе фак?! &lt;img border='0' width='30' height='26' src='//rsdn.org/Forum/images/crash.gif'/ &gt; &lt;img border='0' width='18' height='18' src='//rsdn.org/Forum/images/facepalm.gif' /&gt; Как результат, любые попытки напечатать это "чудо" проваливаются, ибо принтер просто не понимает, что нужно одну страницу "расчленить" на подстраницы.&lt;br /&gt;
Зачем тогда называть это "печатью", да ещё и внутри принт диалога, если эта галимая "картинка контрола" вообще никакого отношения к печати не имеет??&lt;br /&gt;
&lt;br /&gt;
От возмущения к вопросам, а точнее одной элементарной задаче: есть контрол, который может быть оч длинный. Нужно его напечатать на физических страницах, соотв. нужны номера страниц и сам контрол должен "разрываться" между страницами. Метод "в лоб" не помог &amp;mdash; ну не знают в микрософте, что у страниц тоже есть границы! &lt;img border='0' width='15' height='15' src='//rsdn.org/Forum/images/smile.gif' /&gt;&lt;br /&gt;
&lt;br /&gt;
Я обдумывал вариант печати в PDF и потом как-то "разрезать" по размерам A4, но готовых утилит для этого не существует.&lt;br /&gt;
&lt;br /&gt;
Конечно же, я не мог не попасть на &lt;a class="m" href="https://www.nbdtech.com/Blog/archive/2009/04/20/wpf-printing-part-2-the-fixed-document.aspx" target="_blank"&gt;гуглёжный вариант&lt;/a&gt; с DocumentPaginator и FixedPage, но если вы читали этот код, то это полный маразм! НАМ САМИМ предлагают сношаться с контролом, чтобы мы его ручками разбивали на страницы &amp;mdash; тупее идеи не придумать! Контролы &amp;mdash; чудовищно сложная вещь даже если это просто листбокс, просто невозможно его разбивать какими-то ручными методами. Другими словами, мелкософт опять сделал что-то "на отъявись" &amp;mdash; наспех настрочили "вывод на печать", а про главное позабыли &amp;mdash; это ПЕЧАТЬ, а не "сбросить картину 5х5 метров в абстрактный принтер".&lt;br /&gt;
&lt;br /&gt;
Господа погромисты, есть какие-нть идеи как это решить? Можно даже коммерческим контролом, но лучше как-то своим кодом.&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Fri, 14 Nov 2025 10:50:49 GMT</pubDate>
		
			<author>Baiker &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>4</slash:comments>
		
	</item>

	<item>
		<title>Как в WebView2 программно нажать на кнпку?</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8981578.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8981578</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8981578</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8981578</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8981578</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8981578</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Как в WebView2 программно нажать на кнопку "Принять куки"?&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Fri, 22 Aug 2025 06:53:14 GMT</pubDate>
		
			<author>Passerby &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>Как создать библиотеку Form?</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8978671.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8978671</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8978671</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8978671</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8978671</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8978671</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Создал проект Form, изменил в свойствах Тип вывода на Библиотеку классов. В том же решении создал проект Form и указал в Зависимости созданную библиотеку классов. Запустил отладку, вышли ошибки:&lt;br /&gt;
Поддерживаются только проекты с "OutputType =WindowsApplication"&lt;br /&gt;
"Library.Dispose(bool)": не найден метод, пригодный для переопределения.&lt;br /&gt;
Не удалось найти файл метаданных "F:\AllProject\Library\obj\Debug\net9.0-windows\ref\Library.dll".&lt;br /&gt;
&lt;br /&gt;
Как создать библиотеку классов, которая поддерживает Form? Пытался и сначала создать консольную библиотеку и преобразовать ее в Form, но ничего не вышло.&lt;br /&gt;
И можно ли будет использовать методы, которые не используют Form библиотеки Form и для консольных приложений?&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Sat, 16 Aug 2025 03:44:07 GMT</pubDate>
		
			<author>Passerby &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>4</slash:comments>
		
	</item>

	<item>
		<title>WPF4Linux</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8978365.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8978365</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8978365</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8978365</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8978365</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8978365</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Раз уж тут на сайте рекламируют, то не грех обсудить.&lt;br /&gt;
&lt;br /&gt;
Идея замечательная, в свете тенденции юниксификации &amp;mdash; проект довольно не плох.&lt;br /&gt;
&lt;br /&gt;
Но цену вы видели? $46933. Ну ОК, до крыла самолета немного не дотягивает &amp;mdash; но кто вообще это сможет купить?&lt;br /&gt;
&lt;br /&gt;
Такая цена годится разве что для распилов &amp;mdash; а все нормальные редкие библиотеки &amp;mdash; ну от 1 тыс. долларов продают. А эта библиотека могла бы претендовать на массовость, по этому моли бы и начиная от $300 продавать.&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Fri, 15 Aug 2025 10:59:22 GMT</pubDate>
		
			<author>Shmj &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>42</slash:comments>
		
	</item>

	<item>
		<title>WebView2 с Proxy</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8964986.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8964986</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8964986</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8964986</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8964986</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8964986</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Сделал, как написано в ответе &lt;a class="microsoft m" href="https://learn.microsoft.com/en-us/answers/questions/247173/how-to-use-proxy-for-current-version-of-webview2-(" target="_blank"&gt;https://learn.microsoft.com/en-us/answers/questions/247173/how-to-use-proxy-for-current-version-of-webview2-(&lt;/a&gt; Но все равно прокси не работает. Есть еще &lt;a class="github m" href="https://github.com/MicrosoftEdge/WebView2Feedback/issues/132" target="_blank"&gt;https://github.com/MicrosoftEdge/WebView2Feedback/issues/132&lt;/a&gt; Но там нет кода. Может, кто делал WebView2 с Proxy?&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Tue, 15 Jul 2025 00:25:21 GMT</pubDate>
		
			<author>Passerby &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>13</slash:comments>
		
	</item>

	<item>
		<title>Как в WebView2 дождаться окончания загрузки страницы?</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8928726.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8928726</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8928726</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8928726</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8928726</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8928726</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;В Form использую WebView2, работает coreWebView2.Navigate(url)и Reload();&lt;br /&gt;
Но иногда страница не успевает загрузиться, как начинается ее обработка.&lt;br /&gt;
&lt;a class="m" href="https://hatchjs.com/webview2-wait-for-page-to-load/" target="_blank"&gt;https://hatchjs.com/webview2-wait-for-page-to-load/&lt;/a&gt; написано:&lt;br /&gt;
&lt;i&gt;"Дождаться загрузки веб &amp;mdash; страницы в Webview2 можно двумя способами:&lt;br /&gt;
***Использование метода `WebView2.WaitForLoadAsync`**&lt;br /&gt;
***Использование события `WebView2.NavigationCompleted`**"&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
Написал &lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;await WebView2.WaitForLoadAsync(&lt;span class='str'&gt;"https://www.microsoft.com"&lt;/span&gt;);&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
 Ошибка: WebView2 не содержит определения WaitForLoadAsync.&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;await Microsoft.Web.WebView2.WinForms.WaitForLoadAsync(&lt;span class='str'&gt;"https://www.microsoft.com"&lt;/span&gt;);&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
то же самое. Возможно отсутствует ссылка на сборку. Какую сборку?&lt;br /&gt;
Аналогично с попыткой использования события NavigationCompleted.&lt;br /&gt;
Может все работает только в WPF? Но почитал документацию, там сказано, что события должны работать и в Form.&lt;br /&gt;
В чем ошибка, как исправить?&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Thu, 01 May 2025 22:56:41 GMT</pubDate>
		
			<author>Passerby &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>6</slash:comments>
		
	</item>

	<item>
		<title>[WinForms] свой LayoutEngine - затык</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8850957.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8850957</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8850957</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8850957</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8850957</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8850957</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Ребят, помогите плиз с одной хитрой проблемой.&lt;br /&gt;
Пишу на WinForms свой layout (скажем, типа Docking). Т.е. у нас есть сам контрол DockingPanel и сателлит DockingLayoutEngine (где есть Layout(), который и делает всю работу).&lt;br /&gt;
При добавлении контрола на DockingPanel важно, в какую часть DockingPanel его изначально положили (кликнули).&lt;br /&gt;
Т.е. если взяли лэйбл с тулбара и кликнули мышой в правую часть DockingPanel, лэйбл должен "прилипнуть" к правой стороне.&lt;br /&gt;
&lt;br /&gt;
Подводка: после кидания контрола на контейнер, мой DockingLayoutEngine.Layout() вызывается аж 5 раз, причём первые 3 раза координаты дочернего контрола нулевые (но у контрола есть дефолтовые W &amp;amp; H),&lt;br /&gt;
а последние 2 вызова &amp;mdash; координаты и размер выставлены как положено (по координатам, где я кликнул).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Проблема&lt;/b&gt;: внутри Layout() мне нужно обрабатывать дочерний контрол только после того, как у него инициализированы X-Y-W-H!&lt;br /&gt;
Но я не знаю, какой из вызовов Layout() "последний", вот в чём беда! Они практически идентичны (смотрел по свойствам контрола и по LayoutEventArgs.AffectedProperty).&lt;br /&gt;
&lt;br /&gt;
Если реагировать в событии самого DockingPanel.OnControlAdded, то событие вызывается слишком рано &amp;mdash; практически сразу после первого&lt;br /&gt;
вызова Layout().&lt;br /&gt;
&lt;br /&gt;
Не уверен, что вы поняли, но кто своё писал, тот усёк. Попробую другими словами: мы кинули контрол на контейнер и мне надо понять, когда дизайнер&lt;br /&gt;
закончил инициализировать контрол и я могу играть с его(контрола) координатами.&lt;br /&gt;
&lt;br /&gt;
Проблема очень специфичная (и наверняка у неё очень простое решение, но из "женской логики MS"), гугл бессильно накидал мне просто фсякой фигни,&lt;br /&gt;
где даже близко к этой теме не подходили. Так что вот, прошу форум помочь. Заранее спасибо!&lt;br /&gt;
&lt;br /&gt;
(у меня есть книжки по WinForms, но там тоже такие глубинные вещи не касались)&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Tue, 12 Nov 2024 00:52:19 GMT</pubDate>
		
			<author>Baiker &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>Комплекс диктатора и WPF API</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8802596.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8802596</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8802596</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8802596</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8802596</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8802596</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Все вы знаете простейшую проперть у списковых контролов SelectedIndex. Отрывок из &lt;a class="microsoft m" href="https://learn.microsoft.com/en-us/dotnet/api/system.windows.controls.primitives.selector.selectedindex?view=netframework-4.8" target="_blank"&gt;доков&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class='q'&gt;&lt;p&gt;If you set SelectedIndex to a value less that -1, an ArgumentException is thrown.&lt;br /&gt;
&lt;br /&gt;
If you set SelectedIndex to a value equal or greater than the number of child elements, the value is ignored.&lt;/p&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Вот этот диктаторско-садистский метод разработки API &amp;mdash; это у их погромиздов хроническое? В чём вообще смысл "ругаться" на SelectedIndex=-2 и проглатывать -1? Смысл-то один и тот же &amp;mdash; "убери выделение любых элементов"! Причём с выходом за границы элементов (второй абзац) всё нормуль &amp;mdash; как будто проектировал совсем другой человек, там невалидный индекс просто игнорируется (в отличии от идиотских капризов при работе с List&amp;lt;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
То, что такое &lt;s&gt;тупое&lt;/s&gt; важное поведение освещено в ремарках(!!), а не в (отсутствующей) секции "Exceptions" &amp;mdash; отдельный просёр.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Чем-то разумным можно объяснить эти капризы разрабов?&lt;/b&gt; Там что, вся вселенная рухнет, если передать -2? Или этот говённый WPF так захардкожен "-1"-чками, что нельзя в сторону ступить?&lt;br /&gt;
Ты имеешь право быть диктатором и драконом, ограничивающим любые отклонения, но тогда уж КОНСИСТЕНТНЫМ! (т.е. везде одинаково строго) А делать там &amp;mdash; строго, а тут на "отъявись" &amp;mdash; признак безалаберной, неслаженной команды. &lt;img border='0' width='15' height='15' src='//rsdn.org/Forum/images/down.gif' /&gt;&lt;br /&gt;
&lt;br /&gt;
PS&lt;br /&gt;
Почему так прикипает? Ну например, ваш selectedIndex (в смысле переменная в программе) может зависеть от какого-нть алгоритма Монте Карло, где на выходе целое 0...конецСписка, либо "-100". Т.е. имей разрабы мозг, это "-100" можно было бы смело присвоить в ListBox.SelectedIndex ; а вместо этого мы сначала будем вынуждены проверять, что &amp;lt; 0 и потом передавать -1. Офигеть как удобно! &lt;img border='0' width='18' height='18' src='//rsdn.org/Forum/images/facepalm.gif' /&gt;&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Mon, 19 Aug 2024 14:57:18 GMT</pubDate>
		
			<author>Baiker &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>6</slash:comments>
		
	</item>

	<item>
		<title>RichTextBox &amp; DragDrop туда-сюда</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8778476.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8778476</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8778476</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8778476</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8778476</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8778476</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Всем привет!&lt;br /&gt;
&lt;br /&gt;
на форме есть RichTextBox (на самом деле RichEditControl из DexExpress, но это не важно)&lt;br /&gt;
надо таскать текст в него и из него&lt;br /&gt;
при этом &lt;b&gt;курсор над ним&lt;/b&gt; должен быть разный:&lt;br /&gt;
&amp;mdash; если мы тащим из него, то он должен быть запрещающим (нельзя дублировать или переставлять текст)&lt;br /&gt;
&amp;mdash; если тащим в него &amp;mdash; разрешающим&lt;br /&gt;
&lt;br /&gt;
вид курсора определяется в методе DragOver присваиванием нужного значения e.Effect и обработкой в GiveFeedback, тут все понятно и работает&lt;br /&gt;
&lt;br /&gt;
вопрос:&lt;br /&gt;
как отличить внутри метода DragOver отправителя DragDrop &amp;mdash; из этого контрола потащили, или в него?&lt;br /&gt;
т.е., кто внутри себя вызвал метод DoDragDrop&lt;br /&gt;
&lt;br /&gt;
Спасибо&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Wed, 10 Jul 2024 07:43:21 GMT</pubDate>
		
			<author>mDmitriy &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>C#: DataViewGrid.DataSorce</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8757599.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8757599</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8757599</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8757599</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8757599</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8757599</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Hi all,&lt;br /&gt;
подскажите пожалуйста, можно ли в качестве DataSorce использовать простой двумерный массив int [,] a = new int[n,m] ?&lt;br /&gt;
И как это сделать, если да ?&lt;br /&gt;
&lt;br /&gt;
Ну или как заставить DataGridView полностью перерисовать/переформатировать/обновить все ячейки после того, как пользователь отредактировал одну из ячеек ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ЗЫ. В C# абсолютный новичок&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Thu, 06 Jun 2024 15:21:34 GMT</pubDate>
		
			<author>system.console &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>5</slash:comments>
		
	</item>

	<item>
		<title>вопрос по dataGridView на C#</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8753379.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8753379</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8753379</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8753379</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8753379</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8753379</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Подскажите плис, как сделать, чтобы при потере сабжем фокуса ввода, в нем не выделялась текущая строка/ячейка ?&lt;br /&gt;
Делаю простую студенческую прогу, где dataGridView используется для ввода элементов числовой матрицы и мне нафиг не надо, чтобы, когда я кликаю на другой контрол, текущая ячейка выделялась цветом отличным от всех остальных&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Tue, 28 May 2024 13:42:30 GMT</pubDate>
		
			<author>system.console &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>6</slash:comments>
		
	</item>

	<item>
		<title>WPF, видеокарта Intel и кириллица в exe</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8715567.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8715567</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8715567</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8715567</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8715567</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8715567</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Вопрос к обладателям видеокарт Intel (встройки или дискретки &amp;mdash; без разницы):&lt;br /&gt;
На драйвере версии 31.0.101.4887 всё нормально.&lt;br /&gt;
На более свежих (в том числе последнем 31.0.101.5333) не работают WPF приложения (возможно и Qt, т.к. на qbittorrent у меня тоже воспроизводится), у которых в имени файла есть кириллические символы.&lt;br /&gt;
Можно создать новый пустой проект WPF (без разницы .NET FW 4.5 или .NET 8), в свойствах указать Assembly name как "ы" или "ыWpfApp" (либо просто собранный exe-файл переименовать вручную) и программа перестанет запускаться.&lt;br /&gt;
Точнее запустится и сразу закроется при попытке создать окно, а в системе будет зарегистрировано событие, что упало что-то в модуле ucrtbase.dll.&lt;br /&gt;
Это что-то у меня пошло не так или у всех воспроизводится баг и Intel накосячил?&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Tue, 19 Mar 2024 07:11:20 GMT</pubDate>
		
			<author>karbofos42 &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>6</slash:comments>
		
	</item>

	<item>
		<title>Локализация WPF C# .NET8 приложения</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8707706.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8707706</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8707706</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8707706</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8707706</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8707706</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Приветствую, &lt;br /&gt;
Не подскажите какой сейчас будет правильный метод локализации WPF C# .NET8 приложения на разные языки? &lt;br /&gt;
&lt;br /&gt;
Требуется просто отображать разные текст для разных выбранных языков.&lt;br /&gt;
Способ должен быть совместим с Windows App store. &lt;br /&gt;
&lt;br /&gt;
Я вижу что есть встроенные в .NET классы   IStringLocalizer&amp;lt;T&amp;gt; и IStringLocalizerFactory &lt;br /&gt;
Также еще есть Multilingual App Toolkit (MAT).  &lt;br /&gt;
я так понимаю что это что то вроде двух альтернативных способов? &lt;br /&gt;
&lt;br /&gt;
Также хотелось бы чтобы при переходе на WinUI3 было бы как можно проще перейти с выбранным вариантом локализации. &lt;br /&gt;
&lt;br /&gt;
Интересует практический опыт, т.к я конечно гуглил и читаю документацию. &lt;br /&gt;
&lt;br /&gt;
Спасибо!&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Thu, 07 Mar 2024 16:45:34 GMT</pubDate>
		
			<author>salvequick &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>dotnet core способы автообновления приложения</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8651245.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8651245</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8651245</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8651245</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8651245</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8651245</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Кто-то пишет под корку приложения для десктопа(гуи или сервсис/консоль не суть)?&lt;br /&gt;
Если да, то каким образом справляетесь с обновлениями.&lt;br /&gt;
1) По сравнению с FW в NET объем файлов вырос прилично.&lt;br /&gt;
2) натив или рантайм&lt;br /&gt;
3) кликванс или аналоги все также убоги?&lt;br /&gt;
Буду рад любым идеям.&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Fri, 15 Dec 2023 07:25:36 GMT</pubDate>
		
			<author>Разраб &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>[WPF] Замена ужасного диалога даты</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8629686.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8629686</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8629686</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8629686</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8629686</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8629686</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Предлагаю на суд общественности диалог выбора даты/времени. Все мы знаем, какой ушлёпский этот диалог в WPF. Хуже того &amp;mdash; он сделан только для даты, а для времени есть отдельный ужасный контрол. &lt;img border='0' width='15' height='15' src='//rsdn.org/Forum/images/smile.gif' /&gt;&lt;br /&gt;
&lt;br /&gt;
Итак, вот он:&lt;br /&gt;
&lt;br /&gt;
&lt;img border='0' src='https://i.ibb.co/rkP1Mnd/Select-Date.png' /&gt;&lt;br /&gt;
&lt;br /&gt;
Что тут хорошего:&lt;br /&gt;
&lt;br /&gt;
&lt;ol type='1' start='1' style='margin-top:0; margin-bottom:0;'&gt;&lt;li /&gt;Первое и главное: это диалог, т.е. его можно вызвать из любого места программы, т.к. не всегда я хочу показывать именно однострочный редактор даты. Так же можно "попрыгать" по датам &amp;mdash; например, узнать какой день недели был 100 лет назад, не испортив редактируемую дату&lt;br /&gt;
&lt;li /&gt;Все элементы диалога &amp;mdash; стандартные, не надо угадывать, "а что будет, если сюда кликнуть?". Разве что дни сделаны просто цифрами (а не кнопками), но это в угоду читабельности. И даже тут если мышь расположена над днём, курсор превращается в тыкающий палец &amp;mdash; очевидное действие&lt;br /&gt;
&lt;li /&gt;Если диалог вызвали без начальной даты, берётся сегодняшняя (и от неё будут отсчитываться показываемые годы). Попутно к дате можно указать количество показываемых лет (текущий год будет в середине) и самый минимальный год. Это безумно удобно, если потенциальный выбор лет широкий (например, дни рождения). Быстро скрольнули по годам и нашли прадедушкин 1890-ый. &lt;img border='0' width='15' height='15' src='//rsdn.org/Forum/images/smile.gif' /&gt;&lt;br /&gt;
&lt;li /&gt;Да, диалог растягивается, так что находить года можно куда легче&lt;br /&gt;
&lt;li /&gt;Шрифт крупный и легко читабельный&lt;br /&gt;
&lt;li /&gt;Прямой доступ выбора как лет, так и месяцев. При этом число месяца остаётся текущим. Если вы выбрали 31 марта и сменили месяц на февраль, апокалипсиса не случится &amp;mdash; календарь умно сдвинется на последний доступный день &amp;mdash; 28-е&lt;br /&gt;
&lt;li /&gt;Выходные подсвечены как у дней недели, так и самих дней &amp;mdash; трудно ошибиться!&lt;br /&gt;
&lt;li /&gt;Текущая дата выделена жирным, что сразу бросается в глаза и не пересекается с подсветкой выбранной даты&lt;br /&gt;
&lt;li /&gt;Выбранная дата видна внизу, на голубой метке. Слева от неё &amp;mdash; кнопка сброса к той дате, с которой был вызван диалог (не обязательно сегодняшняя)&lt;br /&gt;
&lt;li /&gt;Внизу есть зелёный редактор времени. Его можно спрятать, если не нужен. Часы-минуты легко вводятся &amp;mdash; ПКМ и выбираем число из компактного всплывающего меню (новое время сразу же отображается в голубой метке). Если часы/минуты введены неправильно(символами или слишком большие числа), они подсветятся красным&lt;br /&gt;
&lt;li /&gt;Показаны по 10 дней предыдущего и последующего месяцев (цвета Teal, чётко отделяющего числа от текущего месяца). Если на них кликнуть, текущий месяц соответственно сдвинется&lt;/ol&gt;
&lt;br /&gt;
Я не знаю, сколько ещё десятилетий уйдёт у MS, чтобы понять, что их убогий WPF ещё пилить и пилить. Так что пока тугодумы тугодумят, придётся всё делать самим. &lt;img border='0' width='15' height='15' src='//rsdn.org/Forum/images/frown.gif' /&gt;&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Fri, 03 Nov 2023 10:38:09 GMT</pubDate>
		
			<author>Baiker &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>21</slash:comments>
		
	</item>

	<item>
		<title>WPF - почему так несуразно форматируется дата?</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8629501.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8629501</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8629501</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8629501</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8629501</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8629501</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Эпиграф:&lt;br /&gt;
&lt;br /&gt;
&lt;img border='0' src='https://www.meme-arsenal.com/memes/d9adfbfddc3b00e3f13bb94facceec62.jpg' /&gt;&lt;br /&gt;
&lt;br /&gt;
Иногда нужно было форматировать дату в WPF-контроле. Так как эта задача маленькая и редкая, быстро гуглил, вставлял и тут же забывал. А потом чего-то попытался использовать строку из наработок, а она не пашет! В итоге пришёл аж к ТРЁМ(!) разным вариантам форматирующей строки, что как минимум вводит в ступор, а как максимум &amp;mdash; хочется окунуть в чан дерьма всех этих индусо-погромиздов. &lt;img border='0' width='30' height='26' src='//rsdn.org/Forum/images/crash.gif'/ &gt;&lt;br /&gt;
Вот эти варианты, специфичные именно для указанного контрола:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&amp;lt;TextBlock Text=&lt;span class='str'&gt;"{Binding BirthDate, StringFormat={}{0:d MMM yyyy HH:mm}}"&lt;/span&gt; /&amp;gt;
&amp;lt;Label Content=&lt;span class='str'&gt;"{Binding BirthDate}"&lt;/span&gt; ContentStringFormat=&lt;span class='str'&gt;"d MMM yyyy, HH:mm:ss"&lt;/span&gt; /&amp;gt;
&amp;lt;DataGridTextColumn Binding=&lt;span class='str'&gt;"{Binding BirthDate, StringFormat='d MMM yyyy'}"&lt;/span&gt; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Внимание, правильный вопрос: там в мелкософте совсем делать нехрен, что они напридумывали этот срач? Просто StringFormat='d MMM yyyy' для ВСЕХ контролов ума нехватило сделать? Унификация &amp;mdash; это для кого слово придумали, для умных книжек что ли? Маразм какой-то... &lt;img border='0' width='18' height='18' src='//rsdn.org/Forum/images/facepalm.gif' /&gt;&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Thu, 02 Nov 2023 21:17:33 GMT</pubDate>
		
			<author>Baiker &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>5</slash:comments>
		
	</item>

	<item>
		<title>Весёлая кнопыська AwesomeButton :)</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8554129.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8554129</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8554129</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8554129</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8554129</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8554129</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Очень люблю, когда на кнопках есть цветные иконки, позволяющие мгновенно понимать назначение (это у меня ещё со времён Delphi повелось).&lt;br /&gt;
Но т.к. гемороиться с картинками неохота, использую бесплатный &lt;a class="m" href="https://fontawesome.com/v5/cheatsheet/" target="_blank"&gt;Awesome Font&lt;/a&gt; (версии 5).&lt;br /&gt;
Соотв. кнопка состоит из TextBlock для иконки и TextBlock для текста. Самые часто нужные проперти вынул на верхний уровень.&lt;br /&gt;
Получился вот такой говнокодик:&lt;br /&gt;
&lt;br /&gt;
&lt;table style="margin-top:5px;margin-bottom:5px" cellpadding="0" cellspacing="0"&gt; 	&lt;tbody onclick="toggleExpand(this)" style="cursor:pointer"&gt; 		&lt;tr&gt; 			&lt;td style="width:10px" class="hidden_Plus"&gt;				&amp;nbsp;			&lt;/td&gt;			&lt;td style="font-weight:bold;padding-left:2px;font-family:Verdana,Arial;font-size:9pt;"&gt;								Незамутнённый C# код			&lt;/td&gt; 		&lt;/tr&gt; 	&lt;/tbody&gt; 	&lt;tbody style="display:none"&gt; 		&lt;tr&gt;			&lt;td style="background-image:url(//rsdn.org/Forum/images/line.gif);background-repeat:repeat-y;background-position:center"&gt;							&lt;/td&gt;			&lt;td style="padding-left:3px;font-family:Verdana,Arial;font-size:8pt"&gt;&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;public class&lt;/span&gt; AwesomeButton : Button
{
    &lt;span class='kw'&gt;public&lt;/span&gt; TextBlock txtCaption;
    &lt;span class='kw'&gt;public&lt;/span&gt; TextBlock txtIcon;
    
    &lt;span class='kw'&gt;public&lt;/span&gt; AwesomeButton ()
    {
        &lt;span class='kw'&gt;#region&lt;/span&gt; create Button content manually
        txtCaption = &lt;span class='kw'&gt;new&lt;/span&gt; TextBlock {
            VerticalAlignment = VerticalAlignment.Center,
            HorizontalAlignment = HorizontalAlignment.Center,
        };
        txtIcon = &lt;span class='kw'&gt;new&lt;/span&gt; TextBlock {
            Text = &lt;span class='str'&gt;"\uF005"&lt;/span&gt;,&lt;span class='com'&gt;// star&lt;/span&gt;
            FontFamily = &lt;span class='kw'&gt;new&lt;/span&gt; FontFamily(&lt;span class='str'&gt;"Font Awesome 5 Free Regular"&lt;/span&gt;),
            FontSize = 16,
            Padding = &lt;span class='kw'&gt;new&lt;/span&gt; Thickness(5, 2, 5, 2),
            VerticalAlignment = VerticalAlignment.Center,
            HorizontalAlignment = HorizontalAlignment.Center, 
        };
        txtIcon.SetValue(TextOptions.TextFormattingModeProperty, TextFormattingMode.Ideal);
        
        &lt;span class='kw'&gt;var&lt;/span&gt; dock = &lt;span class='kw'&gt;new&lt;/span&gt; DockPanel();
        DockPanel.SetDock(txtIcon, IconPos);
        dock.Children.Add(txtIcon);
        dock.Children.Add(txtCaption);
        
        &lt;span class='kw'&gt;var&lt;/span&gt; grid = &lt;span class='kw'&gt;new&lt;/span&gt; Grid();&lt;span class='com'&gt;// needed only to be sure 'dock' is shrinked to all avl space&lt;/span&gt;
        grid.Children.Add(dock);
        &lt;span class='kw'&gt;this&lt;/span&gt;.Content = grid;
        &lt;span class='kw'&gt;#endregion&lt;/span&gt;
    }
    
    &lt;span class='com'&gt;/// &amp;lt;summary&amp;gt;String of characters from 'Awesome' font&amp;lt;/summary&amp;gt;&lt;/span&gt;
    &lt;span class='kw'&gt;public string&lt;/span&gt; IconText
    {
        &lt;span class='kw'&gt;get&lt;/span&gt; =&amp;gt; txtIcon.Text;
        &lt;span class='kw'&gt;set&lt;/span&gt; =&amp;gt; txtIcon.Text = &lt;span class='kw'&gt;value&lt;/span&gt;;
    }

    Dock _iconPos = Dock.Left;
    &lt;span class='kw'&gt;public&lt;/span&gt; Dock IconPos
    {
        &lt;span class='kw'&gt;get&lt;/span&gt; =&amp;gt; _iconPos;
        &lt;span class='kw'&gt;set&lt;/span&gt; {
            _iconPos = &lt;span class='kw'&gt;value&lt;/span&gt;;
            DockPanel.SetDock(txtIcon, _iconPos);
        }
    }
    
    &lt;span class='kw'&gt;public&lt;/span&gt; Brush IconColor
    {
        &lt;span class='kw'&gt;get&lt;/span&gt; =&amp;gt; txtIcon.Foreground;
        &lt;span class='kw'&gt;set&lt;/span&gt; =&amp;gt; txtIcon.Foreground = &lt;span class='kw'&gt;value&lt;/span&gt;;
    }
    
    &lt;span class='kw'&gt;public double&lt;/span&gt; IconSize
    {
        &lt;span class='kw'&gt;get&lt;/span&gt; =&amp;gt; txtIcon.FontSize;
        &lt;span class='kw'&gt;set&lt;/span&gt; =&amp;gt; txtIcon.FontSize = &lt;span class='kw'&gt;value&lt;/span&gt;;
    }
    
    &lt;span class='com'&gt;/// &amp;lt;summary&amp;gt;Text appearing on the button&amp;lt;/summary&amp;gt;&lt;/span&gt;
    &lt;span class='kw'&gt;public string&lt;/span&gt; Text
    {
        &lt;span class='kw'&gt;get&lt;/span&gt; =&amp;gt; txtCaption.Text;
        &lt;span class='kw'&gt;set&lt;/span&gt; =&amp;gt; txtCaption.Text = &lt;span class='kw'&gt;value&lt;/span&gt;;
    }
    
    &lt;span class='kw'&gt;public new bool&lt;/span&gt; IsEnabled
    {
        &lt;span class='kw'&gt;get&lt;/span&gt; =&amp;gt; &lt;span class='kw'&gt;base&lt;/span&gt;.IsEnabled;
        &lt;span class='kw'&gt;set&lt;/span&gt; {
            &lt;span class='kw'&gt;base&lt;/span&gt;.IsEnabled = &lt;span class='kw'&gt;value&lt;/span&gt;;
            txtIcon.Opacity = (&lt;span class='kw'&gt;value&lt;/span&gt; ? 1.0 : 0.5);&lt;span class='com'&gt;// icon is not affected by IsEnabled - make disabled look manually&lt;/span&gt;
        }
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt; 		&lt;/tr&gt; 		&lt;tr&gt;			&lt;td style="height:1px;background-image:url(//rsdn.org/Forum/images/corner.gif);background-repeat:no-repeat;background-position:center"&gt;							&lt;/td&gt;			&lt;td&gt;&lt;/td&gt;		&lt;/tr&gt;	&lt;/tbody&gt; &lt;/table&gt; &lt;br /&gt;
&lt;br /&gt;
Если выставлять IconPos, можно регулировать, где иконка появится &amp;mdash; на всех 4 сторонах света. Обратите внимание ещё на txtCaption и txtIcon &amp;mdash; это как раз "выставленные наружу" наши текстбоксы, позволяющие в коде&lt;br /&gt;
регулировать то, что не видно в WPF. К слову, почему-то нельзя написать в XAML&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt; &amp;lt;AwesomeButton txtCaption.FontSize=&lt;span class='str'&gt;"100"&lt;/span&gt; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Если подскажете ПОЧЕМУ, буду очень рад. (сейчас это поля, но даже когда они были пропертями, всё равно XAML не позволял такой финт) Ну а работающий вариант такой:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&amp;lt;cmn:AwesomeButton IconPos=&lt;span class='str'&gt;"Left"&lt;/span&gt; Click=&lt;span class='str'&gt;"btnRefresh_Click"&lt;/span&gt; Text=&lt;span class='str'&gt;"Refresh"&lt;/span&gt; IconText=&lt;span class='str'&gt;"&amp;#xF021;"&lt;/span&gt; IconSize=&lt;span class='str'&gt;"18"&lt;/span&gt; IconColor=&lt;span class='str'&gt;"DodgerBlue"&lt;/span&gt; Padding=&lt;span class='str'&gt;"3"&lt;/span&gt; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Да, ещё вопрос: нужно ли к этому классу писать что-то вроде&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;static&lt;/span&gt; AwesomeButton()
{ 
    DefaultStyleKeyProperty.OverrideMetadata(&lt;span class='kw'&gt;typeof&lt;/span&gt;(AwesomeButton), &lt;span class='kw'&gt;new&lt;/span&gt; FrameworkPropertyMetadata(&lt;span class='kw'&gt;typeof&lt;/span&gt;(AwesomeButton))); 
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Или WPF'у достаточно того, что класс и так напрямую унаследован он Button?&lt;br /&gt;
&lt;br /&gt;
Публикую затем, что в WPF такого нет и не будет &lt;img border='0' width='15' height='15' src='//rsdn.org/Forum/images/smile.gif' /&gt; &amp;mdash; может кому пригодится, чтобы самим не гемороиться. Ну и цель №2 &amp;mdash; критика.&lt;br /&gt;
Прежде, чем вы закидаете говном мою кнопыську, сразу напишу в оправдание: я не особый спец по WPF, юзаю в осн. готовые контролы, а процесс создания кнопки с нуля &amp;mdash; это полный мрак! (спасибо MS)&lt;br /&gt;
Соотв. я решил задачу максимально простым методом &amp;mdash; тупо унаследовал класс и добавил пропертей. Это я к тому, что этот путь тоже оправдан &amp;mdash; люди, которые не особо углублялись в WPF, вполне смогут улучшать мой код.&lt;br /&gt;
Короче, прошу не столько возгласов "да тут шаблоны надо было на 3 километра написать!", сколько рациональных улучшений именно для моего варианта контрола. Понятно, что кое-что нахардкодил, но это невелик грех, интересны остальные аспекты.&lt;br /&gt;
Всем заранее спасибо!&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Thu, 29 Jun 2023 21:41:58 GMT</pubDate>
		
			<author>Baiker &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>11</slash:comments>
		
	</item>

	<item>
		<title>Word Interop dynamic неправильное значение</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8532103.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8532103</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8532103</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8532103</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8532103</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8532103</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;&lt;pre class='c'&gt;&lt;code&gt;            &lt;span class='kw'&gt;var&lt;/span&gt; word = &lt;span class='kw'&gt;new&lt;/span&gt; Application { Visible = &lt;span class='kw'&gt;false&lt;/span&gt; };
            &lt;span class='kw'&gt;var&lt;/span&gt; doc = word.Documents.Add();
            doc.Activate();

            Range rng = doc.Range(0, 0);
            rng.Text = text;
            rng.Select();

            doc.Content.Select();

            &lt;span class='kw'&gt;var&lt;/span&gt; totalWords = word.Selection.Words.Count;

            &lt;span class='kw'&gt;var&lt;/span&gt; i = 0;
            &lt;span class='kw'&gt;var&lt;/span&gt; prevPercent = 0;
            &lt;span class='kw'&gt;var&lt;/span&gt; enumeratorSelection = word.Selection.Words.GetEnumerator();
            &lt;span class='kw'&gt;while&lt;/span&gt; (enumeratorSelection.MoveNext())
            {
                &lt;span class='kw'&gt;if&lt;/span&gt; (_backgroundWorker.WorkerReportsProgress &amp;amp;&amp;amp; prevPercent &amp;lt; i * 100 / totalWords)
                {
                    prevPercent = i * 100 / totalWords;
                    _backgroundWorker.ReportProgress(prevPercent);
                }
                i++;

                &lt;span class='kw'&gt;dynamic&lt;/span&gt; w = enumeratorSelection.Current;
                &lt;span class='kw'&gt;int&lt;/span&gt;? languageId = w.LanguageID &lt;span class='kw'&gt;as int&lt;/span&gt;?;
                Log.Information(languageId.HasValue ? languageId.Value.ToString() : &lt;span class='kw'&gt;null&lt;/span&gt;);
                &lt;span class='kw'&gt;if&lt;/span&gt; (languageId.HasValue &amp;amp;&amp;amp; languageId == (&lt;span class='kw'&gt;int&lt;/span&gt;)WdLanguageID.wdRussian)
                {&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
вывод в логе&lt;br /&gt;
2023-05-24 02:40:19.000 -07:00 [INF] 1033&lt;br /&gt;
2023-05-24 02:40:19.042 -07:00 [INF] 1033&lt;br /&gt;
2023-05-24 02:40:19.046 -07:00 [INF] 1033&lt;br /&gt;
2023-05-24 02:40:19.051 -07:00 [INF] 1033&lt;br /&gt;
2023-05-24 02:40:19.056 -07:00 [INF] 1033&lt;br /&gt;
2023-05-24 02:40:19.060 -07:00 [INF] 1033&lt;br /&gt;
2023-05-24 02:40:19.064 -07:00 [INF] 1033&lt;br /&gt;
2023-05-24 02:40:19.067 -07:00 [INF] 1033&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
реально должно выводить 1049 (wdRussian = 1049)&lt;br /&gt;
&lt;br /&gt;
прикол такой если поставить брекпоинт в начале while то выводит правильно&lt;br /&gt;
&lt;br /&gt;
кстати ошибка для word 2016, для моего 2021 работает&lt;br /&gt;
&lt;br /&gt;
ещё можно сделать так MessageBox.Show(w.LanguageID.ToString()) и тогда первый раз неправильно, но потом OK нажимаю и показывает верно&lt;br /&gt;
&lt;br /&gt;
подскажите как пофиксить&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Wed, 24 May 2023 10:31:30 GMT</pubDate>
		
			<author>dsalodki &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>OnPaint Wpf</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8521261.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8521261</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8521261</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8521261</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8521261</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8521261</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Почему в WPF событие OnPaint не такое как в WinForms&lt;br /&gt;
В WinForms это событие было сделано по уму &amp;mdash; покуда не закончишь рисовать на экране перерисовки незаконченной не будет &lt;br /&gt;
Неужели оно кому-то мешало?&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Fri, 05 May 2023 06:57:21 GMT</pubDate>
		
			<author>VVVa &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>11</slash:comments>
		
	</item>

	<item>
		<title>Graph Contacts не все вижу</title>
		<link>http://rsdn.org/Forum/dotnet.gui/8515215.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/dotnet.gui/8515215</guid>
		<comments>http://rsdn.org/Forum/dotnet.gui/8515215</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8515215</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8515215</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8515215</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;если пишу так&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;var&lt;/span&gt; co = await _graphServiceClient.Me.Contacts.GetAsync();&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
то не получаю ничего&lt;br /&gt;
&lt;br /&gt;
если пишу так&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;int&lt;/span&gt; count = 0;
                &lt;span class='kw'&gt;int&lt;/span&gt; pauseAfter = 25;

                &lt;span class='kw'&gt;var&lt;/span&gt; contactFolders = await _graphServiceClient.Me.ContactFolders.GetAsync();

                List&amp;lt;Contact&amp;gt; cs = &lt;span class='kw'&gt;new&lt;/span&gt; List&amp;lt;Contact&amp;gt;();
                &lt;span class='kw'&gt;foreach&lt;/span&gt; (&lt;span class='kw'&gt;var&lt;/span&gt; contactFolder &lt;span class='kw'&gt;in&lt;/span&gt; contactFolders.Value)
                {
                    &lt;span class='com'&gt;// Get the first page of contacts&lt;/span&gt;
                    &lt;span class='kw'&gt;var&lt;/span&gt; contacts = await _graphServiceClient.Me.ContactFolders[contactFolder.Id].Contacts.GetAsync(x =&amp;gt; x.QueryParameters.Top = 10);


                    &lt;span class='kw'&gt;var&lt;/span&gt; pageIterator = PageIterator&amp;lt;Contact, ContactCollectionResponse&amp;gt;
    .CreatePageIterator(
        _graphServiceClient,
        contacts,
        (c) =&amp;gt;
        {
            count++;

            cs.Add(c);
            &lt;span class='com'&gt;// If we've iterated over the limit,
            // stop the iteration by returning false&lt;/span&gt;
            &lt;span class='kw'&gt;return&lt;/span&gt; count &amp;lt; pauseAfter;
        }
    );

                    await pageIterator.IterateAsync();

                    &lt;span class='kw'&gt;while&lt;/span&gt; (pageIterator.State != PagingState.Complete)
                    {
                        &lt;span class='com'&gt;//await Task.Delay(1000);
                        // Reset count&lt;/span&gt;
                        count = 0;
                        await pageIterator.ResumeAsync();
                    }
                }

                &lt;span class='kw'&gt;var&lt;/span&gt; c = await _graphServiceClient.Me.Contacts.GetAsync();&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
тоже не получаю ничего&lt;br /&gt;
&lt;br /&gt;
хотя один контакт есть, подскажите как его получить? это personal microsoft account&lt;/div&gt;
				
		</description>
		
		<category>dotnet</category><category>gui</category>
		<pubDate>Sun, 30 Apr 2023 08:49:30 GMT</pubDate>
		
			<author>dsalodki &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>
</channel>
</rss>
