2014-01-21 59 views
1

我有需要改變文本框的的.text頁面上的一個用戶控件內訪問TextBox.Text。我的問題是,我無法從UC的代碼隱藏中找到訪問TextBox的方法。順便說一句,我使用的是Visual C++,而不是C#。從用戶控件列表框

基本上,用戶控件有一個TextBox,當其中的文本改變我所需要的頁面上,從文本框中的文本改變。如果這是有道理的。

我試圖綁定頁面文本框的用戶控件文本框,但我不能讓任何文本框找到其他。我已經試過在UserControl中包含Page.h,但仍然不能訪問頁面上的TextBox。我也看了成使用的用戶控件窗口::目前::內容,但似乎並沒有給我訪問頁文本框或者(除非我誤解是如何工作的)。

如果你需要我的任何代碼讓我知道,但現在它是一個更大的項目的一部分,並沒有任何意義,除非我刪除了一堆東西,但然後你將無法複製它並嘗試運行它,所以我試圖通過儘可能詳細地提出我的問題,但保持簡單。我已經沖刷了「XAML綁定文本框用戶控件」,雖然效果是有限的,我經歷了所有的人(我一直停留試圖弄清楚這一點對我自己了近一個星期現在)的互聯網搜索。

回答

0

首先,我對你有三個環節,我真的希望爲你着想,你讀的鏈接頁面。從MSDN第一個鏈接應該可以幫助您開始使用WPF,因爲它是明確的,你不知道如何使用它尚未:

Walkthrough: Getting Started with WPF

第二和第三個環節是從StackOverflow的幫助中心,因爲它也很清楚,你沒有任何閱讀這些網頁,他們將幫助您充分利用本網站的(並得到回答您的問題更快):

How do I ask a good question?
How to create a Minimal, Complete, Tested and Readable example

我們解決您的問題......你可以簡單地給你UserControl和數據綁定,從內部和控制之外增加一個DependencyProperty它。在後面的代碼:

public static readonly DependencyProperty ValueProperty = DependencyProperty.Register(
    "Value", typeof(string), typeof(MainWindow), new UIPropertyMetadata("Some text")); 

public string Value 
{ 
    get { return (string)GetValue(ValueProperty); } 
    set { SetValue(ValueProperty, value); } 
} 

的XAML 內部UserControl

<TextBlock Text="{Binding Value, RelativeSource={RelativeSource AncestorType={x:Type 
    YourLocalPrefix:YourControlname}}}" /> 

的XAML UserControl

<YourLocalPrefix:YourControlname Value="{Binding SomePropertyOutsideControl}}}" />