0
マイユーザーコントロールが原因ヌルフィールドに起動に失敗し、Imは本当にイライラ起動に失敗し、私は、下のコードを持っている:ユーザーコントロールが原因ヌルフィールドに
public MyControl()
{
protected override void OnInitialized(EventArgs e)
{
base.OnInitialized(e);
string userinputMainWindow = (string)App.Current.Properties["TextBoxString"];
Foreach
{
TextBlock textBlock2 = new TextBlock();
textBlock2.Text = String.Format(userinputMainWindow); // null
textBlock2.TextAlignment = TextAlignment.Left;
しかし、私は、これは私が必要なものであると思ういけませんどのようにして起動時にコードを初期化せず、コードを呼び出すときに初期化を停止することができますか?初期化とだけ私はbtnGeneral_Click
をクリックしたときにユーザーコントロールを停止する方法はあり
private Dictionary<string, UserControl> _userControls = new Dictionary<string, UserControl>();
public Dictionary<string, UserControl> GetUserControls()
{
return _userControls;
}
public MainWindow()
{
InitializeComponent();
List<string> userControlKeys = new List<string>();
userControlKeys.Add("MyControl");
Type type = this.GetType();
Assembly assembly = type.Assembly;
foreach (string userControlKey in userControlKeys)
{
string userControlFullName = String.Format("{0}.UserControls.{1}", type.Namespace, userControlKey);
UserControl userControl = (UserControl)assembly.CreateInstance(userControlFullName);
_userControls.Add(userControlKey, userControl);
}
}
private void btnGeneral_Click(object sender, RoutedEventArgs e)
{
App.Current.Properties["TextBoxString"] = textBox1.Text;
PanelMainContent.Children.Clear();
Button button = (Button)e.OriginalSource;
Type type = this.GetType();
Assembly assembly = type.Assembly;
PanelMainContent.Children.Add(_userControls[button.Tag.ToString()]);
}
:私はこのようなユーザーコントロールを呼び出す私のメインウィンドウ上のインスタンスについて
?
あなたは '_userControls'のインスタンスを作成している場合は?代わりに 'btnGeneral_Click'の中でそれを行うことができますか? – mellamokb
私はすでに更新が表示されていますが、問題は起動時に問題あります。ユーザーが情報を入力したときにメインウィンドウを使用して情報を渡すため、usercontrolフィールドの一部がヌルであるため開始できません。 –
UserControlからコードを投稿できますか?どのフィールドがヌルですか?いつそれらを設定しようとしていますか? – roomaroo