надо вывести полученное значение в окно. можно ли в xaml передать переменную для Text:
<TextBox Name="Length_txt" Width="150" Height="24"
VerticalAlignment="Center"
HorizontalAlignment="Right"
Margin="10"
Grid.Row="1"
Text="{Binding Answers}" <<!--нет контекста-->
BorderThickness="0,0,0,0"/>
public MainWindow(){
InitializeComponent();
DataContext = new Answerlist();
}
public class Answerlist{
private static string[] answers = File.ReadAllLines("res/latin.txt");
public static string Answers { get; set; } = $"{answers.Length}";
public static string getRandomAnswer(){
return answers[new Random().Next(answers.Length)];
}
}
ошибки нет и прога фунтициклирует, но значение не выводится...
DataContext = new MainViewModel();в конструкторе окна (название зависит от типа проекта), далее делаете классpublic class MainViewModel { public string Text {get;set;} = "Привет мир!"; }, ну и остается в XAML написать{Binding Text}. Все, вот у вас переменная, которая задает текст. Добро пожаловать в мир привязок как говорится) Единственно, если будете менять при запущенном приложении, то нужен ещеINotifyPropertyChanged. Ну а если "тупо" хотите, невзирая на все рекомендации и прочее, то простоLength_txt.Text = "Привет мир!";Но потом не удивляйтесь каше в проекте. – EvgeniyZ Mar 05 '23 at 16:28public string[] Answers { get; set; } = File.ReadAllLines("res/latin.txt");, а дальше с ним работайте везде, где надо, включая привязкиText="{Binding Answers.Length, Mode=OneWay}"(OneWayпотому, что свойство длины не имеетset, из-за чего мы не можем ему задать значение, включая привязку). – EvgeniyZ Mar 05 '23 at 22:43