Member 12658724 Ответов: 2

Как отключить/серую кнопку?


Я упаковал иконку в xaml-файл. Что-то вроде
<UserControl x:Class="WpfApp2.access_point"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WpfApp2"
             >
    <Grid>
        <Canvas x:Name="point" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="24" Height="24">
            <Path Data="M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,12C4,9.79 4.89,7.78 6.34,6.34L4.93,4.93M19.07,4.93L17.66,6.34C19.11,7.78 20,9.79 20,12C20,14.22 19.11,16.22 17.66,17.66L19.07,19.07C20.88,17.26 22,14.76 22,12C22,9.24 20.88,6.74 19.07,4.93M7.76,7.76C6.67,8.85 6,10.35 6,12C6,13.65 6.67,15.15 7.76,16.24L9.17,14.83C8.45,14.11 8,13.11 8,12C8,10.89 8.45,9.89 9.17,9.17L7.76,7.76M16.24,7.76L14.83,9.17C15.55,9.89 16,10.89 16,12C16,13.11 15.55,14.11 14.83,14.83L16.24,16.24C17.33,15.15 18,13.65 18,12C18,10.35 17.33,8.85 16.24,7.76M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z" />
        </Canvas>
    </Grid>
</UserControl>

Не беспокойтесь о форме. Теперь я хочу сослаться на него в другом представлении в кнопке. Код неточен, но кажется, что:
<Button Style="{Binding AStyle}">
     <ContentControl Content=Template="{DynamicResource point}">
</Button>


Мой вопрос заключается в том, что кнопка может быть включена/отключена во время выполнения. Отключить означает, что он неактивен. Не знаете, как это сделать?

Что я уже пробовал:

Думаю о триггере. Но по-прежнему никаких зацепок.

2 Ответов

Рейтинг:
5

saimanisha

можете ли вы ясно объяснить, в чем заключается ваше сомнение ?

чтобы отключить кнопку динамически во время выполнения базы don your requirement вы можете использовать триггеры, когда она находится в режиме onmouseover с помощью этого свойства вы можете отключить ее .
другой способ-вы можете написать его в коде behinid.
button.isenabled =false;// здесь он отключает кнопку

button.isenables=true;//здесь он включает bubtton


Member 12658724

Я обновил код. Допустим, если записи достигают 10, мы не можем добавить новую запись в базу данных, тогда мы должны отключить эту кнопку.

saimanisha

предположим, вы делаете подсчет каждой записи
если count > 10, то в условии вы пишете код для отключения этой кнопки.

Рейтинг:
2

PureNsanity

Наиболее подходящим способом подключения кнопки является привязка команды. Команда имеет свойство CanExecute, которое автоматически подключается к свойству IsEnabled кнопки. В зависимости от того, какую реализацию ICommand вы используете, код для обновления CanExecute может варьироваться.

Примечание: Я предпочитаю PRISM DelegateCommand, но MVVMLight также имеет популярную RelayCommand.

Другой наиболее распространенный способ подключения отключения - это привязка к самому свойству IsEnabled. Вы можете использовать преобразователи для проверки любого состояния, которое вы хотите. Например, вы можете привязаться к свойству Count, а не подключать конвертер, который является IntLessThanTenConverter, чтобы возвращать false, если связанный счетчик когда-либо превышает десять.