Задать вопрос
Программист-самоучка

Наибольший вклад в теги

Все теги (4)

Лучшие ответы пользователя

Все ответы (11)
  • Как решить проблему динамического подключения сборок расширяемого приложения?

    @Ksarrik Автор вопроса
    Вроде бы нашел решение, оказалось на удивление простым: для автоматического обнаружения сборок достаточно было в config основного приложения добавить папку в которой искать необходимые сборки.
    А именно:
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <probing privatePath="Modules"/>
        </assemblyBinding>
      </runtime>
    Ответ написан
    Комментировать
  • Как из Application обратиться к открытому окну?

    @Ksarrik
    В классе Application есть свойство Windows https://docs.microsoft.com/ru-ru/dotnet/api/system...
    из него можно получить нужное окно и вывести результат присвоив свойство Text в TextBlock
    Ответ написан
    Комментировать
  • Как изменить цвет кнопки в зависимости от триггера?

    @Ksarrik
    Добрый день. Вам вероятно нужно создать шаблон кнопки. Вот пример сделанный на основе книги Мэтью Мак-Дональда
    <Window.Resources>
            <!--шаблон кнопки-->
            <ControlTemplate x:Key="buttonTemplate1" TargetType="{x:Type Button}">         
                <Border Name="border" BorderBrush="Black" BorderThickness="1" CornerRadius="0" Background="Red"  TextBlock.Foreground="Black">
                    <Grid>
                        <Rectangle Name="focusCue" Visibility="Hidden" Stroke="Black" StrokeThickness="1" StrokeDashArray="1 2" SnapsToDevicePixels="True"></Rectangle>
                        <ContentPresenter Margin="{TemplateBinding Padding}" HorizontalAlignment="Center"  RecognizesAccessKey="True"></ContentPresenter>
                    </Grid>
                </Border>
                <ControlTemplate.Triggers>              
                    <EventTrigger RoutedEvent="MouseEnter">
                        <BeginStoryboard>
                            <Storyboard>
                                <ColorAnimation Storyboard.TargetName="border" Storyboard.TargetProperty="Background.Color" To="Purple" >
                                </ColorAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                    <EventTrigger RoutedEvent="MouseLeave">
                        <BeginStoryboard>
                            <Storyboard>
                                <ColorAnimation Storyboard.TargetName="border" Storyboard.TargetProperty="Background.Color" >
                                </ColorAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                    <Trigger Property="IsPressed" Value="true">
                        <Setter TargetName="border" Property="Background" Value="IndianRed"></Setter>
                        <Setter TargetName="border" Property="BorderBrush" Value="DarkKhaki"></Setter>
                    </Trigger>
                    <Trigger Property="IsFocused" Value="true">
                        <Setter TargetName="focusCue" Property="Visibility" Value="Visible"></Setter>
                    </Trigger>
                    <Trigger Property="IsEnabled" Value="false">
                        <Setter TargetName="border" Property="TextBlock.Foreground" Value="Gray"></Setter>
                        <Setter TargetName="border" Property="Background" Value="MistyRose"></Setter>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
            <Style x:Key="newButtonStyle" TargetType="Button">
                <Setter Property="Control.Template" Value="{StaticResource buttonTemplate1}"></Setter>
            </Style>
        </Window.Resources>
        <StackPanel>      
            <Button Height="30" Width="100" Margin="10" Style="{StaticResource newButtonStyle}">            
            </Button>
        </StackPanel>
    Ответ написан
    3 комментария
  • Как преобразовать выбранную ячейку двойным кликом в int?

    @Ksarrik
    Добрый день. Как я понял вам нужен ID из строки DataGrid. А не проще получить выбранную строку из вашего объекта привязанного к DataGrid и из него получить Id после приведения?
    то есть получится
    var yourObject=DGPrinterViev.SelectedItem as <ваш тип>;
    if(yourObject!=null)
    {
    int id=yourObject.SeriyNomerPrinter;//либо как называется нужное свойство
    }
    Ответ написан
    1 комментарий
  • Как указать путь до файла во встроенных ресурсах WPF?

    @Ksarrik
    Добрый день.
    В вашем примере вы использовали не WPF ресурс
    доступ к нему можно получить доступ как к свойству (в моем случае используется ресурс с именем Data_XMLFile):
    string res=Properties.Resources.Data_XMLFile;
    XmlReader xml2 = XmlReader.Create(new StringReader(res));


    Если же вы хотите использовать WPF ресурс, тогда нужно выбрать этот файл xml и установить действие при сборке в Resource
    61c74b4dcdc71094191470.png
    Затем доступ к ресурсу можно получить следующим образом:
    Uri uri = new Uri("pack://application:,,,/Resources/Data_XMLFile.xml", UriKind.Absolute);
    StreamResourceInfo info = Application.GetResourceStream(uri);            
    XmlReader xml = XmlReader.Create(info.Stream);
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (3)