Отключение контроля учётных записей программно

Из кода цвет рамки находится в CollectionView.ItemTemplate. Если вы хотите изменить цвет в Item, вы должны изменить данные модели, а не напрямую изменять имя ресурса в привязке или x: Name, чтобы сделать это.

В модели добавьте свойство MyColor к модели Monkey:

private string mycolor = "Accent";

public string MyColor
{
   get
   {
      return mycolor;
   }
   set
   {
      if (mycolor != value)
      {
          mycolor = value;
          OnPropertyChanged("MyColor");
      }
    }
 }

Если хотите изменить динамически, также нужно INotifyPropertyChanged модели:

public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
    if (PropertyChanged != null)
    {
        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
}

Затем связать MyColor в Xaml :

<ContentPage.Resources>
    <ResourceDictionary>
        <CollectionViewDemos:StringToColorConverter x:Key="StringToColorConverter"/>
    </ResourceDictionary>
</ContentPage.Resources>

Frame BackgroundColor="{Binding MyColor, Converter={StaticResource StringToColorConverter}}"

Также необходимо IValueConverter для преобразования цвета из строки:

public class StringToColorConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        //throw new NotImplementedException();
        string valueAsString = value.ToString();
        switch (valueAsString)
        {
            case ("Red"):
                {
                    return Color.Red;
                }
            case ("Accent"):
                {
                    return Color.Accent;
                }
            default:
                {
                    return Color.FromHex(value.ToString());
                }
        }
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

Наконец, вы можете проверить, когда CollectionView [ 1112]

<CollectionView ItemsSource="{Binding Monkeys}"
                SelectionMode="Single"
                SelectedItem="{Binding SelectedMonkey, Mode=TwoWay}">

Добавление модели selectedMonkey к MonkeyList. При выборе изменил цвет на красный следующим образом:

Monkey selectedMonkey;
public Monkey SelectedMonkey
{
    get
    {
        return selectedMonkey;
    }
    set
    {
        if (selectedMonkey != value)
        {
            selectedMonkey.MyTextColor = "Red"; //Here is changing the color
            selectedMonkey = value;
        }
    }
}
19
задан Abdullah Jibaly 25 March 2009 в 16:36
поделиться

5 ответов

Установите EnableLUA DWORD значение в HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System до 0 и перезагрузитесь.

это отключит UAC без проблем, я бы сделал это для всех ваших пользователей, с разрешением или без, зависит от вас, потому что vista UAC настолько ужасен, что я верю, что чем меньше людей он имеет, тем лучше ( только в vista) теперь лучше в win7.

получайте удовольствие от моего трюка с реестром :)

работает и в win7, дайте мне знать, как вы с этим справились.

17
ответ дан 30 November 2019 в 03:03
поделиться

Вы не можете программно отключить контроль учётных записей, но можно вынудить программу работать с поднятыми полномочиями от запуска, таким образом, это не запрашивает каждый раз.

Это заставит это запрашивать однажды на запуске, но не каждый раз этому нужен доступ.

Чтобы сделать это, необходимо будет создать файл манифеста и установить <requestedExecutionLevel level="requireAdministrator">

См. MSDN для деталей.

15
ответ дан 30 November 2019 в 03:03
поделиться

Цель контроля учётных записей состоит в том, чтобы предотвратить выполняющиеся нежелательные приложения. Если бы было возможно отключить его программно, то это было бы бесполезно.

10
ответ дан 30 November 2019 в 03:03
поделиться

Отключение контроля учётных записей программно победило бы свою цель, поскольку это затем также будет возможно быть сделанным вредоносным программным обеспечением, червями, троянцами и вирусами и не иметь никакого реального эффекта безопасности вообще.

Вы могли потребовать для запуска приложения в соответствии с администраторской учетной записью или (я думаю), позволяют Microsoft так или иначе подписать приложение.

Могут быть другие способы, которыми я не знаю, но ни один из них не программно!

0
ответ дан 30 November 2019 в 03:03
поделиться

Это победило бы объект контроля учётных записей. Так не, Вы не можете.

-1
ответ дан 30 November 2019 в 03:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: