2017-09-12 13 views
-3

J'ai ce bouton de Main window.xaml besoin de l'appeler d'une autre classe je l'ai fait comme première réponse How to make a control in XAML public in order to be seen in other classesbouton faisant .xaml du public à une autre classe dans le contrôleur de WPF

<Window x:Class="USD.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="450" Width="525"> 

<Button ToolTip="Answer Call" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="107,82,0,0" x:Name="answerCall" Click="answerCall_Click" Visibility="Hidden" x:FieldModifier="public"> 
     <StackPanel Orientation="Horizontal" > 
      <Image Width="35" Height="35" Source="Images/unnamed.png" RenderTransformOrigin="4.075,0.607"> 
      </Image> 
     </StackPanel> 
     <Button.Template> 
      <ControlTemplate TargetType="Button"> 
       <Grid> 
        <ContentPresenter HorizontalAlignment="Center" 
           VerticalAlignment="Center"/> 
       </Grid> 
      </ControlTemplate> 
     </Button.Template> 
    </Button> 

mais quand je vérifié de toute classe .cs comme ça

MainWindow.answerCall.Visibility.Visible; 

donner des erreurs

Répondre

0

i fixé par le présent dans le code C#

DispatcherPriority.Background, 
        new Action(() => ((MainWindow)System.Windows.Application.Current.MainWindow).answerCall.Visibility = Visibility.Visible)); 
-1

Si vous utilisez un contrôleur/viewmodel, vous ne devriez pas avoir de code derrière, au lieu de cela, vous devriez travailler avec bindable properties et commands, en implémentant INotifyPropertyChanged interface, dans une classe de base si vous le souhaitez.

+0

je ne pas utiliser le contrôleur/viewmodel, juste simple bouton je veux faire visable s'il y a valeur class.cs – bavs

+0

Ok, je vous ai dit que parce que vous avez écrit "WPF Controller" dans le titre. –