2012-06-02 3 views
0

У меня есть много XAML файлы и нужно использовать некоторые функции, которые я не хочу, чтобы дублировать код:Действие другого XAML

main.xaml.cs

void gotoUrL(..){} 

void goroUsers(..){} 

main.xaml 
<Image Tap="gotoUrl">.. 

Как я могу это сделать ? something.xaml

<Image Tap="gotoUrl"> 

// gotoUrl ссылки из main.xaml.cs

ответ

1

Одним из способов может быть, что вы пишете отдельный вспомогательный класс: Helper.cs. (Вы можете сделать его статическим). В Helper.cs вы можете поместить все функции, которые вы не хотите дублировать. Затем вызовите эту конкретную вспомогательную функцию класса: Helper.gotoUrl() от gotoUrl() метода main.xaml.cs и something.xaml.cs. Вы не дублируете код.

+0

Спасибо, я предлагаю использовать свой путь тоже. Я сделал это час назад, подумал, что есть другой путь. – SevenDays

0

У вас есть несколько вариантов с UserControls .. Если вам это нужно только для определенного изображения, которое останется неизменным, вы можете просто сделать новый UserControl с изображением внутри него.

Если функции могут различаться, вы могли бы сделать UserControl как (назовем его GoToUrlControl):

//all the xaml at the top of the file 

x:Name="Control"> 

<Grid Tap="OnTapped"> 
    <ContentControl Content="{Binding Path=Body, ElementName=Control}"/> 
</Grid> 

Затем в коде позади, создать DependencyProperty (тип propdp и ударил tab дважды) Имя это Body

Наконец, чтобы использовать его на любой странице XAML, добавьте ссылку на XAML, и что-то вроде

<myControls:GoToUrlControl> 
    <GoToUrlControl.Body> 
     <//put any content here here /> 
    </GoToUrlControl.Body> 
</myControls:GoToUrlControl> 

Я не на компьютере, где я могу дать вам полный рабочий код, но эта ссылка должна заполнить недостающие части.

How to Implement a Dependency Property

Смежные вопросы