Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475

Привязать свойство IsEnabled кнопки к свойству сокета Connected

21.09.2016, 11:07. Показов 1085. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
XML
1
2
3
4
5
<Button Name="btnLogin" Content="Login" MinWidth="75" Margin="0,0,0,2" Click="btnLogin_Click">
       <Button.IsEnabled>
              <Binding Source="{x:Static local:Vars.gsSock}" Path="Connected" Mode="OneWay" UpdateSourceTrigger="PropertyChanged" Converter="{StaticResource LoginButtonConverter2}"/>
       </Button.IsEnabled>
</Button>
через конвертер устанавливаю нужное свойство кнопки, это срабатывает 1 раз при запуске программы, но больше сокет не сообщает об изменении состояния, в чём проблема?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.09.2016, 11:07
Ответы с готовыми решениями:

Свойство IsEnabled для картинок
в общем-то вопрос в названии темы. у меня есть ToolBar, в нем куча кнопок в виде иконок, что-то вроде такого: &lt;ToolBar&gt; ...

TcpClient.Client.Connected свойство
Здравствуйте, господа. Возникла довольно странная ситуация: проверка состояния сокета занимает ощутимое время. StopWatch показывает от...

Изменить IsEnabled другой кнопки с помощью триггера
возможно ли с помощью триггера сделать чтобы при нажатии на одну кнопку - у другой кнопки установить IsEnabled = false? в том смысле чтоб...

7
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
21.09.2016, 12:36
Цитата Сообщение от Jotun Посмотреть сообщение
XML
1
Binding Source="{x:Static local:Vars.gsSock}" Path="Connected"
Покажите сие свойство.
0
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
21.09.2016, 14:10  [ТС]
всмысле показать?
у сокета есть такое свойство: bool Socket.Connected

Добавлено через 1 час 10 минут
Вобщем понятно что я совсем не то делаю, но можно как-то заставить сокет сигнализировать при изменении свойсва Connected
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
21.09.2016, 15:55
Цитата Сообщение от Jotun Посмотреть сообщение
у сокета есть такое свойство: bool Socket.Connected
Вот тут, скорее всего, проблема.
При изменении свойства не идет оповещение (ну там же нету INotifyPropertyChanged)

А то, что вы написали такое
Цитата Сообщение от Jotun Посмотреть сообщение
XML
1
UpdateSourceTrigger="PropertyChanged"
насколько мне известно - работает только с контролами (т.е. с DataContext нет такая фишка вряд ли прокатит), ИМХО.
0
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
21.09.2016, 16:10  [ТС]
Цитата Сообщение от bodynar Посмотреть сообщение
ну там же нету INotifyPropertyChanged
ну да, оповещение получается в момент создания \ пересоздания сокета - а это всегда false:
XML
1
2
3
<Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=Window}" 
             Path="gsSock.Connected" Mode="OneWay" UpdateSourceTrigger="PropertyChanged" 
             Converter="{StaticResource LoginButtonConverter2}"/>
придётся чтоли переменную bool вводить для слежения...
0
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
22.09.2016, 16:44  [ТС]
вобщем я так понимаю что прямого решения нет?
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
03.11.2016, 23:13
Jotun, Прошу прощения за свою сверхсветовую скорость.
Много-уважаемый товарищ amarf однажды разъяснял подобный вопрос.
1
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
06.11.2016, 02:02
Класс System.Net.Sockets.Socket не имеет событий, которые прямо или косвенно оповещают об изменении состояния подключения.
Единственный вариант в данном случае - использовать таймер для проверки изменения свойства. Но этот вариант по понятным причинам не является хорошим.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2016, 02:02
Помогаю со студенческими работами здесь

Binding. Изменение изображения кнопки в Content в зависимости от свойства IsEnabled
&lt;Button Style=&quot;{StaticResource Button_Round}&quot; Grid.Column=&quot;1&quot; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot; Padding=&quot;10,1&quot; ...

Как привязать событие к свойству контролла
есть контрол у него есть свойство необходимо создать событие и привязать данное событие к свойству как создавать события нашел а вот как...

Как привязать textBox к свойству статического класса
Есть класс 'myEntity' с текстовым свойством 'Number'. Экземпляр этого класса привязывал просто: ...

Есть ли у кнопок свойство, подобное свойству Default в Delphi?
Подскажите есть ли у кнопок свойство, подобное свойству Default в Delphi? Заранее спасибо.!!!

Как передать свойство другому свойству внутри объекта?
Такой вопрос, как передать свойство другому свойству внутри объекта? 'Тканевые':{Name:'vert', width: () =&gt;...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru