Sono un novizio e sono molto impegnato con quello che sembra dovrebbe essere un compito molto semplice. Come modifico una proprietà di MainWindow
TextBlock
da un altro file cs. Una soluzione di codice esatto sarebbe estremamente utile.Come accedere ai controlli WPF MainWindow dal proprio file .cs
Di seguito è riportato il codice ridotto. Il mio uso della classe statica mi causa problemi extra?
In File: MainWindow.xaml
<Window x:Class="TestApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock x:Name="TextBlock1" HorizontalAlignment="Left" Margin="107,71,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
</Grid>
</Window>
In File: MainWindow.xaml.cs
namespace TestApp1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
TextBlock1.Text = "Setting Text from MainWindow";
MyProgram.myProgramStart();
}
}
}
In File: CodeFile1.cs
namespace TestApp1
{
public static class MyProgram
{
public static void myProgramStart()
{
// ... blah blah blah
// I want to do something like follows, but won't compile
MainWindow.TextBlock1.Text = "Setting Text from My Program";
}
}
}
bella risposta, ma volevo solo ripetere in grassetto: ** "ma ascoltare i manifesti Chi ha detto che in una vera e propria applicazione che si usa MVVM" ** – Sharky
Grande risposta, ma in caso qualcuno lo ha davvero mancato ... ** "ma ascolta i poster che hanno detto che in un'applicazione reale useresti MVVM" **. –
Non capisco la generalizzazione del consiglio bonus. Ci sono diversi motivi per cui necessitare di code-behind in questo modo. per esempio. un code-behind personalizzato di style.xaml usando codice procedurale per l'uso di gestori in stili per metodi per cui xaml non è abbastanza algoritmico. –